雪球股票炒股交流聰明的投資者都在這里
『壹』 親們,我是炒股新手,想了解一下上市公司的一些信息,去哪看比較准確一些啊比如:路演啊
打開股票軟體,按鍵盤上的F10,基本就夠看了!
再不行,去和訊或東方財富網,看看
『貳』 雪球股票論壇怎麼樣
952013063分析部:杜老師
『叄』 雪球如何操作,是干什麼的是炒股的嗎
炒股首先需要開立一個股票賬戶,開戶成功後,下載證券公司的炒股軟體,往證券賬戶中轉入炒股的資金,就可以買股票了。股票交易前建議先學習一些股票基礎知識和股票交易方面的知識,了解股票市場的風險,不可盲目投資,避免造成較大損失。
溫馨提示:入市有風險,投資需謹慎。
應答時間:2021-04-22,最新業務變化請以平安銀行官網公布為准。
[平安銀行我知道]想要知道更多?快來看「平安銀行我知道」吧~
https://b.pingan.com.cn/paim/iknow/index.html
『肆』 大家談談炒股的經驗,互相交流一下
如今我已發表了二百多篇博文,它活生生地記錄了我的炒股五個階段,即,1,無知蠻干階段;2,進修充電階段;3,摸索探路階段;4,歸納成型階段;5,初見成效階段。每個階段的文章都得到博友的充分肯定,許多博友的留言,讓我感動萬分。
由此我也深深得出一個結論,凡是真實地寫下自己親身發生的一切過程,一定是具有生命力的,不管文字本身美與否,感謝成千上萬的讀者,給我真誠的留言和祝福,為此,我將我多年積淀的炒股話語在2011年的春節期間奉獻給大家。
1,我入市三年後,發現我比一般股民表現出了四大優點:刻苦、認真、鑽研、求異。相信我有能力跨進贏家的大門檻。
2,我在操作中,不斷地發現自我,改變自我,挑戰自我,戰勝自我。校正自己,永遠比研究市場更重要!
3,我炒股五年後,才證實了炒股賺錢的指路明燈——天道酬勤。我每天在重復只做一件最簡單而又最單調復雜的事情,既枯燥又無味,即寂寞無聊!只要能夠堅持再堅持,忍耐再忍耐,在忍無可忍的時候,有再忍下去的毅力,始終如一不斷地觀察、堅持記錄,一天也不能遺漏,然後通過不斷地歸納總結篩選,積累沉澱一定會有我意想不到的驚喜!
4,我炒股十年後,終於誕生了我的炒股總方針:追求穩定、長久、持續地獲利。
5,我知道的炒股知識並不少,我經常在問自己:真正做到的又有多少?能夠做好的又有多少?最後要問獨樹一幟的你有嗎?十多年後的我肯定地說:有!可能是獨一無二,我堅信!我堅持!
6,我炒股賺錢的工具——我的操作系統。
7,信號第一,鐵的紀律。不受個人的情緒影響。它是從由戰勝市場轉變為順應市場,由主動性交易轉變為被動性交易,操作主要考慮在「應變」而不是在「預測」上。
8,抓住試盤,守株待兔。在常人看來這是愚蠢和原始的,但是真正讓我能夠穩定、長久、持續地賺到錢的功夫還真是「坐功」。守株待兔關鍵是選擇在哪些樹下可以耐心等待,可能這個選擇是幾年來的心血結晶,心法相同,技法卻不同。
9,不聽忽悠,眼見為實。我要能到手的銅,不要隔山的金子。
10,專家的話是兩頭堵,總是說「如果……那麼就會……」,一旦說對了就會炫耀自己看的多麼准;一旦說錯了他們就會說,「我說過如果……那麼……,現在是如果的條件沒有滿足,所以沒有走出預想的行情是對的」。我說,要是聽專家的話炒股,想成為贏家我覺得簡直是夢想。
11,我看圖是打開圖形向左看,先看月線再看周線,壓縮圖形看趨勢,看方向不重價。
12,強勢時不看阻力,弱勢時不看支撐。
13,順勢加碼要持股!逆勢斬倉要離場!
14,我無意中發現讓我賺到錢的一個規律:要想賺到錢,「必須要敢重倉」。我一般是在底部看好一隻股票基本上就重倉,如果不是,順勢加碼持股也就逐步達到重倉了。這樣,一撥行情下來賺個20%~40%很容易。
但是,過去是見到大盤上漲明朗後才開始敢大買,而漲了點就賣,大盤繼續漲,就在熱點板塊跳來蹦去頻繁地買賣賺點差價操作忙個不休,或者手中分散持股幾只,這樣到最後一般是賺了指數不賺錢。應該是在底部區域看準機會,必須重倉,敢於重倉這是改變自己的收益的關鍵問題。這就是看對時要有賺大錢的豪情,看錯時要有及時止損的果斷。
15,自從我有了選股「本事」之後,我是堅決果斷地把雞蛋就敢放在一個籃子里。要是不敢放?說明我還沒有能力找到一個結實的籃子,也可以說還沒有能力走上贏家的路。所以我就每天看管好這一籃子雞蛋就行了,我一贏就贏個盆滿缽盈,我一見要輸馬上干凈利落不用幾秒鍾就能逃個精光。
16,事不過三。有效站穩或跌穿應該以三個交易日為衡量標准,才能夠稱之為有效。
17,莊家在高位連續拉高,目的就是派發和自救,這種認識我必須「固執」。
18,明星股,不管價格有多高都會有不怕死的追星族跟風,何為膽大?無知才膽大!
19,贏家第一想到的是風險,而輸家第一想到的是賺錢!
20,贏家常套在低位,一旦反轉就開始賺;輸家常套在高位,一旦反轉就開始賠。
21,要深知股價的高山上長眠的人都得的是什麼病?我認為大部分得的是「追熱點病高燒不退而死在山頂上」,少部分得的是「貪婪病」。
22,洗盤時的底部是逐步在抬高,而出貨時底部逐步在降低。前者經常以大陰線方式嚇唬人,後者則以大陽線在吸引人。
23,出權的股票走勢不填權,空喊說什麼再好的分紅送轉的花言巧語我都不聽。
24,我拿手抓住莊家的試盤手法是:多點共振且一陽穿三線。
25,我拿手抓住莊家操作態勢的是:橫盤—挖坑—無量—填平—放量—橫盤—拉升。
26,以上兩條如果能夠練就,再把宏觀和微觀達到完美的結合——就能無招勝有招,我個人的經驗體會是起碼需要10年時間孜孜不倦地看盤磨練。
27,我喜歡正在操作的股票不是黑馬,因為黑馬股我騎不住。我喜歡能炒到小火慢燉的股票,從底部當我重倉介入的股票走勢是:進二退一,進三退二,進五退三,有時甚至是進五退八。雖然這是老牛拉破車——嘎吱的股票,但是我完全不再關心經濟數據和政治事件的好壞,因為基本面對於我來說毫無用處。也從不和別人說起交易的事,因為我知道沒有人能夠說明白。每天我也無需關心大盤在200點之內上下跳動,那是股市的噪音,它除了挑戰和折磨我的神經和影響我的情緒之外,對於我的操作沒有任何正面作用。我堅持的結果是優哉游哉,資金在滾雪球,一波行情下來,全年的盈利任務就輕松地完成了。
28,炒股最難的事是什麼?我認為就是方向選對了之後,如何能夠「堅持」!人性的弱點是錯誤地尋求機會擴大化,而不是利潤繼續擴大。
29,真正能讓我賺錢的是能夠把握住趨勢,忽略小的波動。熱衷於局部戰役的小打小鬧獲得點蠅頭小利無法保證全局的勝利。
30,真正讓我賺不到錢或者虧損的原因仍然是心理因素:固執、恐懼、貪婪與僥幸。失敗就是偏愛自負的人,頑固的人和不自律的人,使我重復犯過去的低級錯誤。
31,大部分輸錢的人,寧可賠錢也不肯承認自己有錯誤。死要面子錢受罪!
32,書是必看無疑。該看哪本不該看哪本沒人告訴我,讀書走彎路是必然的。另外一本書不同人會讀出不同的效果來。
33,我認為股市裡大多數人的行為往往是錯誤的。
34,大家都怕的事不一定可怕,大家都愛的事不一定可愛。
35,想賺錢就要反大眾,反來反去把自己反到與莊家共舞的隊伍中去了。不必在意他人的看法,只研究自己的對與錯,力爭成為少數人,你想,錯它能錯到哪裡?
36,我的十個「不」字和兩個「否定」。我是不找黑馬,不追熱點,不找重組的,不炒送配的,不炒出權不填權的,不炒ST股,不聽股評,不預測大盤走勢,不看基本面,不看證券報刊雜志,否定波浪理論,否定炒股軟體(兩個否定指的是不適合我,他的存在就是具有合理性)。到了我這個炒股氛圍不是需要追求再學習更多的炒股知識,而是應該減肥,當我除掉自身那些我自己認為沒有用的東西後,我覺得從此炒股的路子更加清晰,技術更加精湛,收益更加穩定。
37,我的三個「一」字。一生中我可能只用「抓住試盤,守株待兔」這一種方法炒股; 一生中我可能誰的話我都不會聽,就聽自己操作系統的;一生中我必須固執地執行自己設定的止損點,即便有時是錯誤的,我下次也不會改變這一操作理念。
38,我贊成「不要用眼睛和耳朵炒股,要用腦子炒股」。就是不看不聽(這里指的是股評家,咨詢機構的評論),用腦子獨立思考。
39,凡是股市最熱鬧、人最多的地方,不會有我的影子。
40,人多的地方我歸納有五多:吹牛多,股評多,騙子多,賠錢多,新人多。
41,我是待在被莊家和大家遺忘的角落,我認為在這個角落是最好的自守孤獨的地方。脫離浮躁與喧囂,心靜下來,才不至於做出倉促的決定。
42,當我感覺到孤獨是快樂時,我覺得我已修來了一種仙氣。那麼我的心靈也一定是強大的。心靈強大就不怕賺不到錢!
43,我炒股不是走大路而是走小道,爬山坳越溪流。做不正常的人,走不正常的路。走大家走過的路,往往是撿不到什麼好果子的,老跟著別人屁股後是呼吸不到新鮮空氣的。
44,股市永遠都不缺機會。踏空一次,僅失去一次機會,被套一次就可能喪失很多機會。
45,能看到機會和很好地把握機會是兩碼事。無知是談不到把握機會的,一知半解是把握不好機會的,只有真知才能融會貫通,緊緊地抓住機會不放。
46,會買的是徒弟,會賣的是師傅,賣出後能耐心等待機會的是神仙。等待不是無事可做,不是猶豫不決,不是思前怕後,等待見到機會要有一劍封喉的勇氣和果斷,一箭不中全身而退。等待反映一個人的綜合素質,學習等待,善於等待。
47,行為決定習慣,習慣決定性格,性格決定命運。少到「五多」的人堆里去,近墨者黑。慢慢克服自己的貪心、狂妄自大、喜歡別人的認同、不肯承認錯誤、說話不算數等一些不良行為,後面的好事就會水到渠成。
48,世間財富分配永遠是二八分成,八二分成那是暫時的。二八定律的市場是為孤獨、寂寞、有耐心的人們准備的!
49,炒股的秘笈實質是秘而不宣。同仁堂能把牛黃清心丸的配方公布於世嗎?可口可樂的配方也是如此。真正的炒股高手是待在家裡悶聲敲鍵盤賺大錢。
50,我相信大盤走勢的預測結論,不會在細節上有吻合或者在炒作上有具體的指導意義。有三種人能夠准確預測大盤走勢,神仙,瘋子和騙子。既然炒股軟體也是人編出來的,那麼它的買賣點也是不可信的。
51,我相信這個世界上沒有一種絕對有效分析股市的方式。如果有,股市早就不存在了。
52,炒股如果指望是看一看零敲碎打的書籍,聽一聽似是而非的股評,要不再加上一點秘訣,東學一招,西湊一式,合在一起就用,贏一把,兩把是憑運氣,贏十把、百把是遇到了牛市。可時間一長,遇到牛皮市和熊市就現了原形,仍然還是陷入虧損的泥潭,這樣的人往往表現為「無知者無畏」。
53,理論和心理素質就像是內功,是心法;而操作方法就像是武功套路。內功浮燥,心法混亂,武功套路在關鍵時刻必然就會亂了套,跩了大跟頭那是必然。內功雄厚扎實,心法清晰明確堅定,這樣的人往往表現大智大勇。
54,炒股的心法是什麼?你看!均線在騙,K線在騙,技術指標在騙,成交量在騙,業績在騙,重組在騙,送配在騙,股評家在騙,報刊雜志,廣播電視在騙。整個股市就是一個「騙」字。下跌當中老是補倉,越跌越補,越補越套,抄底過早而被深套,這些人就是想及早撿便宜沒撿到犯了一個「貪」字;股票漲了不賣,越漲越是不賣,結果不是被急跌或者陰跌把自己的利潤又給吐回去,就是追高而被套死。整個歸結就是一個「貪」字。騙子非常喜歡愛貪的人,愛貪的人沒有不被騙的,這是一對幽靈終生陪伴你我,所以股市的心法就是認清兩個字,一個是「騙」,一個是「貪」,只要心法清晰,明確,堅定,這樣的人在接招時永遠是得心應手,井然有序。
55,炒股初級階段經常是盲目崇拜。不是說向誰學習就一定能學成,巴菲特不是好學的,何況股市裡的假巴菲特太多了。尤其是讀幾年金融專業再出國打了個滾、根本就沒有大資金炒中國股票的實戰經驗、把國內國外的東拼西湊,斷章取義,生搬硬套,就敢寫書誇誇其談的毛手毛腳的小夥子多如牛毛。
56,我說贏家門前掛有「穩」字牌匾的有三道大門。第一道是穩賠,第二道是穩不賠不賺,第三道是穩賺,最後才能跨進贏家的大門,那是穩定,長久,持續地賺錢。沒有5年以上是不能真正走進第二道門檻里的。沒有10年以上,是不能穩定獲利的。20年後,你可能在股市裡為所欲為。但是我認為,時間跟人的炒股經驗沒有必然成正比例關系。股市不是說只漲歲數不漲記性的人以靠混年頭就能來提款的。
57,你一旦發現自己常常輸的是時間而不輸錢時,就表示你離贏家的門檻不遠了。
58,求人不如求己,這個掛在嘴邊淺顯易懂的道理在我炒股五年後才領會到真正的含義。這也說明自己太無知,國際歌詞早就告訴的明明白白。
59,炒股是藝術不是科學,今天的成功經驗也許過些時候就是失敗的定律。今天的失敗教訓過些時候就又可能是成功的法寶。一句話:沒准!主要是因為你正用,莊家有時就反用,你反用莊家就正用,尤其同一個炒股軟體兩家同時用效果更加明顯,出現雙贏局面那是偶而與僥幸。
60,炒股高手一定有自己的交易系統,而且有穩定的准確率。這個穩定性來源於:個人的無意識,意識到,做到,做好。這中間是由於堅持而形成了習慣,習慣又變成了融會貫通。整個過程是直覺,本能,無招,大成的過程。
61,一個好的交易系統,是經過多年不斷地在痛苦的思考,提煉,再思考,再提煉的循環過程。也就是時時在保養,年年在保養。一旦不保養就會失效的。
62,好多人成不了高手是悟性不足、韌性不夠,所以成為不了贏家,也許是一輩子。
63,想做高手是痛苦的,需要毅力,更是孤獨的,因為高手每天都在否定自己而去要適應市場。
64,沒有既能在振盪市中賺錢又能在趨勢行情中獲利的交易系統。
65,一年分四季,各個季節穿不同的衣服。我有三種選股方法,它們是適應在大盤的底部,中部和頂部。
66,看高手不要看他怎麼賺錢,最好能夠看到他是怎樣應對輸錢的,看他是怎樣止損和止盈的。
67,我認為炒股其實並不簡單!說簡單的人,就好比看齊白石畫蝦、徐悲鴻畫馬這么簡單一樣!他們只看到了表面現象卻沒有看到本質。
68,要達到「炒股簡單」,我認為有兩點:一是請一位好老師,二就是勤奮。這就是師傅領進門,修行在個人。
69,炒股千萬不要與人攀比,容易搞壞心情;只有認真反思自己,大徹大悟!有的對於別人來說是好機會,而對於自己可能就是陷阱,只賺屬於自己的錢。是你的就是你的,不是你的,爭著搶著奪著也白搭!看看自己的交割單就是自己的老師。
70,不要迷信那些誇誇其談每周都能買到漲停板的人,其實他的業績是一塌糊塗,賠的可能比誰都慘!
71,不要跟隨天天在預測大盤走勢的人。他一是故弄玄虛炫耀自己,二是他另有企圖。
72,抄底就是抄人氣崩潰,等到交易所門可羅雀,讓人傷心絕望到極點的時候,營業廳每天只來那麼幾個人就可以大膽抄底了。所以,抄底就是門可羅雀,逃頂就是人滿為患。准確率雖然相當高,可是大多數人就是做不到。為什麼?因為都套的死死的,沒有錢等待解套。
73,我認為股票市場不是國民經濟的晴雨表。現在經濟不好,不能買進,或是等到所有利空都去盡以後,再買也不遲。所以,大家在家等著看報紙,看電視,確定經濟已經轉好才開始買股票,我說這時已經晚了。我們應該做到在極度悲觀的氣氛中,樂觀地重倉進場。
74,我最怕的是大盤陰跌和不跌,我最不怕的是暴跌。大盤非理性的暴跌和無病的大跌,就是低檔介入賺錢的好機會,遇到此時千萬不要把財神爺拒之門外。
75,我的「兩次5%理論」。我知道抄底很難抄到最低點,一般我分兩次進場抄底,第一次我認為可能是低點時以2~4成倉位殺進後,結果抄的不是底時,需再等待至少跌7%以上再買同等倉位,兩次平均價離真正的底5%以內時我認為就算是高手了。同理,我兩次賣出的平均價離真正的頂部5%以內時也認為是高手了。我是社會最底層的人,做股票沒有關系背景,沒有消息來源,買進、賣出不可能那麼准確,我只能估計一個區域,在安全區域可以買進,也許買進還會跌一些;在風險區域就要賣出,也許賣出之後還能漲很多。能夠每次做到精準買進賣出是不現實的。
76,我一旦重倉發動攻擊時,身邊出現再誘人的股票我都不會動心。炒的股票一旦定下就要專一,往往笑到最後是我而不是那些朝三暮四追龍頭搶熱點當初嘲笑我的人。
77,熊市是真正培養耐心的土壤!牛市往往會使人野心膨脹。
78,我炒股的高興與痛苦,不是因為我的股票上漲而高興與下跌而痛苦,而是我規劃設計自己的股票十天半月應該怎麼走的大概率框架藍圖,雖然中間有好多意想不到的波動,結果股票基本上沒有走出這個框架之外,這是我最高興的,因為我能與莊家基本上想到一塊去了。想不到一塊時就是最痛苦的,我需趕快找原因調整操作策略。從來就不要自以為是,不自作多情。
79,股市有風險,但股市相對是「公正」的。公不公正就看你的眼力。
80,股市是天堂,但股市也是地獄。我想好多股友還是沒有真正嘗試到地獄是什麼滋味,但是我覺得我是嘗到了。即便是有豐富炒股經驗的人,如果生活經歷不夠豐富,也很可能在遭受一次下地獄慘痛的打擊之後,有永遠放棄炒股的念頭!經歷豐富的人真正嘗試到了這種滋味後,再炒股業績必有飛躍,這就是被擊落有多深,反彈就有多高。
81,炒股是謀事在人,成事在天。最後,我加一句:發上等願,結中等緣,享下等福。
我的經驗話語共八十一條,也是九九歸一。真正想做到它,我認為炒股也就能炒到了真金。
我的企鵝:
『伍』 能推薦一些你看過,並且受益的股票書籍(十本左右最好了),真心求助!
格雷厄姆的<證券分析><聰明的投資者>
費雪的<怎樣選擇成長股>
林奇的三本書
還要研究巴菲特的書籍
證券分析是必須看,令你覺得投資組合虧錢是很難的
『陸』 有關炒股的交流社區、股票論壇都有什麼哪些比較好
雪球、點掌財經、東方財富、牛金大學、磚家團這幾個都還不錯,我們身邊不論是老股民還是新手,都喜歡上這幾個社區去看看,交流下。
『柒』 最近比較熱衷炒股,收集了一些app(如投乎,雪球),大家有沒有別的炒股app推薦的
證券分析類:大智慧,同花順,東方財富通
組合跟投類:股票跟投
投資脈搏
股市直播類:這類目前比較少。推薦投乎
資訊類:華爾街見聞
財聯社
美股港股:富途牛牛
老虎股票
『捌』 如何通過雪球查詢股票之前的變動狀況
一. 雪球公司介紹
雪球 聰明的投資者都在這里。
web 1.0:新聞資訊,股價信息,K線圖
web 2.0:SNS 訂閱,分享,聊天
web 3.0:移動 APP,交易閉環
雪球現在員工數還不到100,其中技術人員佔一半。去年9月C輪融資4kw刀。我們現在的技術棧由下列組件組成:Java,Scala,Akka,Finagle,Nodejs,Docker ,Hadoop。我們當前是租用IDC機房自建私有雲,正在往「公私混合雲」方向發展。
在雪球上,用戶可以獲取滬深港美2w+股票的新聞信息,股價變化情況,也可以獲取債券,期貨,基金,比特幣,信託,理財,私募等等理財產品的各類信息,也可以關注雪球用戶建立的百萬組合,訂閱它們的實時調倉信息,還可以關注雪球大V。雪球當前有百萬日活躍用戶,每天有4億的API調用。App Store 財務免費榜第 18 名。歷史上曾排到財務第二,總免費榜第 19。
二. 雪球當前總體架構
作為一個典型的移動互聯網創業公司,雪球的總體架構也是非常典型的設計:
最上層是三個端:web端,android端和iOS端。流量比例大約為 2:4:4 。web3.0 的交易功能,在 web 端並不提供。
接入層以及下面的幾個層,都在我們的自建機房內部。雪球當前只部署了一個機房,還屬於單機房時代。正在進行「私有雲+公有雲混合部署」方案推進過程中。
我們當前使用 nodejs 作為 web 端模板引擎。nodejs 模塊與android 和 ios 的 app 模塊一起屬於大前端團隊負責。
再往下是位於 nginx 後面的 api 模塊。跟 linkedin 的 leo 和微博的 v4 一樣,雪球也有一個遺留的大一統系統,名字就叫 snowball 。最初,所有的邏輯都在 snowball 中實現的。後來慢慢的拆出去了很多 rpc 服務,再後來慢慢的拆出去了一些 http api 做成了獨立業務,但即便如此,snowball 仍然是雪球系統中最大的一個部署單元。
在需要性能的地方,我們使用 netty 搭建了一些獨立的介面,比如 quoto server,是用來提供開盤期間每秒一次的股價查詢服務,單機 qps 5w+,這個一會再細說;而 IM 服務,起初設計里是用來提供聊天服務,而現在,它最大的用途是提供一個可靠的 push 通道,提供 5w/s 的消息下發容量,這個也一會再細說。
雪球的服務化拆分及治理採用 twitter 開源的 finagle rpc 框架,並在上面進行了一些二次開發和定製。定製的功能主要集中在 access log 增強,和 fail fast,fail over 策略及降級開關等。 finagle 的實現比較復雜,debug 和二次開發的門檻較高,團隊內部對此也進行了一些討論。
雪球的業務比較復雜,在服務層中,大致可以分為幾類:第一類是web1.0,2.0 及基礎服務,我們稱為社區,包括用戶,帖子,新聞,股價,搜索等等,類比對象就是新浪財經門戶+微博;第二類是組合及推薦,主要提供股票投資策略的展示和建議,類比對象是美國的motif;第三類是通道,類似股市中的「支付寶」,接入多家券商,提供瞬間開戶,一鍵下單等等各種方便操作的功能。
雪球的業務實現中,包含很多非同步計算邏輯,比如搜索建索引,比如股票漲跌停發通知,比如組合收益計算等等,為此,我們設計了一個獨立的 Thread/Task 模塊,方便管理所有的後台計算任務。但隨著這些 task 越來越多,邏輯差異越來越大,一個統一的模塊並不是總是最佳的方案,所以,我們又把它拆成了兩大類:流式的,和批量式的。
雪球的推薦體系包括組合推薦「買什麼」和個性化推薦。我們最近正在重新梳理我們的大數據體系,這個感興趣的話可以單聊。
最下面是基礎設施層。雪球基礎設施層包括:redis,mysql,mq,zk,hdfs,以及容器 docker。
線上服務之外,我們的開發及後台設施也很典型:gitlab開發,jenkins打包,zabbix 監控系統向 openfalcon 遷移,redimine向confluence遷移,jira,以及內部開發的 skiing 後台管理系統。
** 三. 雪球架構優化歷程**
首先描述一下標題中的「股市動盪」定語修飾詞吧:
上證指數從年初的3000點半年時間漲到了5000多,6月12號達到最高點5200點,然後就急轉直下,最大單日跌幅 8.48%,一路跌回4000點以下。最近一周都在3900多徘徊。
3月最後一周,A股開戶 166萬戶,超過歷史最高紀錄 2007年5月第二周165萬戶。
4月份,證監會宣布A股支持單用戶開設多賬戶。
6月底,證金公司代表國家隊入場救市。
7月份,證監會宣布嚴打場外配資。
中國好聲音廣告第一晚,帶來超過平時峰值200倍的注冊量
挑戰:小 VS 大:
小:小公司的體量,團隊小,機器規模小
大:堪比大公司的業務線數量,業務復雜度,瞬間峰值沖擊
雪球的業務線 = 1個新浪財經 + 1 個微博 + 1 個 motif + 1 個大智慧/同花順。由於基數小,API調用瞬間峰值大約為平時峰值的 30+ 倍。
挑戰:快速增長,移動互聯網 + 金融,風口,A股大盤劇烈波動。
首先,在app端,在我們核心業務從 web2.0 sns 向 3.0 移動交易閉環進化的過程中,我們開發了一個自己的 hybrid 框架:本地原生框架,加離線 h5 頁面,以此來支撐我們的快速業務迭代。當前,雪球前端可以做到 2 周一個版本,且同時並行推進 3 個版本:一個在 app store 等待審核上線,一個在內測或公測,一個在開發。我們的前端架構師孟祥宇在今年的 wot 上有一個關於這方面的詳細分享,有興趣的可以稍後再深入了解。
雪球App實踐—構建靈活、可靠的Hybrid框架 http://wot.51cto.com/2015mobile/ http://down.51cto.com/data/2080769
另外,為了保障服務的可用性,我們做了一系列的「端到端服務質量監控」。感興趣的可以搜索我今年4月份在環信SM meetup上做的分享《移動時代端到端的穩定性保障》。其中在 app 端,我們採用了一種代價最小的數據傳輸方案:對用戶的網路流量,電池等額外消耗幾乎為0
每個請求里帶上前一個請求的結果
succ or fail : 1 char
失敗原因:0 - 1 char
請求介面編號: 1 char
請求耗時:2 - 3 char
其它:網路制式,etc
炒股的人大多都會盯盤:即在開盤期間,開著一個web頁面或者app,實時的看股價的上下跳動。說到「實時」,美股港股當前都是流式的數據推送,但國內的A股,基本上都是每隔一段時間給出一份系統中所有股票現價的一個快照。這個時間間隔,理論上是3秒,實際上一般都在5秒左右。 交了錢簽了合同,雪球作為合作方就可以從交易所下屬的數據公司那裡拿到數據了,然後提供給自己的用戶使用。
剛才介紹總體架構圖的時候有提到 quote server ,說到這是需要性能的地方。
業務場景是這樣的,雪球上個人主頁,開盤期間,每秒輪詢一次當前用戶關注的股票價格變動情況。在內部,所有的組合收益計算,每隔一段時間需要獲取一下當前所有股票的實時價格。起初同時在線用戶不多,這個介面就是一個部署在 snowball 中的普通介面,股價信息被實時寫入 redis ,讀取的時候就從 redis 中讀。後來,A股大漲,snowball 抗不住了。於是我們就做了一個典型的優化:獨立 server + 本地內存存儲。開盤期間每次數據更新後,數據接收組件主動去更新 quote server 內存中的數據。 後續進一步優化方案是將這個介面以及相關的處理邏輯都遷移到公有雲上去。
對於那些不盯盤的人,最實用的功能就是股價提醒了。在雪球上,你除了可以關注用戶,還可以關注股票。如果你關注的某隻股票漲了或跌了,我們都可以非常及時的通知你。雪球上熱門股票擁有超過 50w 粉絲(招商銀行,蘇寧雲商)粉絲可以設置:當這支股票漲幅或跌幅超過 x%(默認7%)時提醒我。曾經連續3天,每天超過1000股跌停,證監會開了一個會,於是接下來2天超過1000股漲停
原來做法:
股票漲(跌)x%,掃一遍粉絲列表,過濾出所有符合條件的粉絲,推送消息
新做法:
預先建立索引,開盤期間載入內存
1%:uid1,uid2
2%:uid3,uid4,uid5
3%:uid6
問題:有時候嫌太及時了:頻繁跌停,打開跌停,再跌停,再打開。。。的時候
內部線上記錄:
4台機器。
單條消息延時 99% 小於 30秒。
下一步優化目標:99% 小於 10 秒
IM 系統最初的設計目標是為雪球上的用戶提供一個聊天的功能:
送達率第一
雪球IM:Netty + 自定義網路協議
Akka : 每個在線client一個actor
推模式:client 在線情況下使用推模式
多端同步:單賬號多端可登錄,並保持各種狀態同步
移動互聯網時代,除了微信qq以外的所有IM,都轉型成了推送通道,核心指標變成了瞬間峰值性能。原有架構很多地方都不太合適了。
優化:
分配更多資源:推送賬號actor池
精簡業務邏輯:重復消息只存id,實時提醒內容不推歷史設備,不更新非活躍設備的session列表等等
本地緩存:拉黑等無法精簡的業務邏輯遷移到本地緩存
優化代碼:非同步加密存儲,去除不合理的 akka 使用
akka這個解釋一下:akka 有一個自己的 log adapter,內部使用一個 actor 來處理所有的 log event stream 。當瞬間峰值到來的時候,這個 event stream 一下子就堵了上百萬條 log ,導致 gc 顛簸非常嚴重。最後的解決辦法是,繞過 akka 的 log adapter,直接使用 logback 的 appender
線上記錄:5w/s (主動限速)的推送持續 3 分鍾,p99 性能指標無明顯變化
7月10號我們在中國好聲音上做了3期廣告。在廣告播出之前,我們針對廣告可能帶來的對系統的沖擊進行了壓力測試,主要是新用戶注冊模塊,當時預估廣告播出期間2小時新注冊100萬
壓測發現 DB 成為瓶頸:
昵稱檢測 cache miss > 40%
昵稱禁用詞 where like 模糊查詢
手機號是否注冊 cache miss > 80%
注冊新用戶:5 insert
優化:
redis store:昵稱,手機號
本地存儲:昵稱禁用詞
業務流程優化:DB insert 操作同步改非同步
下一步優化計劃:
將 sns 系統中所有的上行操作都改成類似的非同步模式
介面調用時中只更新緩存,而且主動設置5分鍾過期,然後寫一個消息到 mq 隊列,隊列處理程序拿到消息再做其它耗時操作。
為了支持失敗重試,需要將主要的資源操作步驟都做成冪等。
前置模塊HA:
合作方合規要求:業務單元部署到合作方內網,用戶的敏感數據不允許離開進程內存
業務本身要求:業務單元本身為有狀態服務,業務單元高可用
解決方案:
使用 Hazelcast In-Memory Data Grid 的 replication map 在多個 jvm 實例之間做數據同步。
java 啟動參數加上 -XX:+DisableAttachMechanism -XX:-UsePerfData,禁止 jstack,jmap 等等 jdk 工具連接
關於前置模塊,其實還有很多很奇葩的故事,鑒於時間關系,這里就不展開講了。以後有機會可以當笑話給大家講。
組合凈值計算性能優化:
一支股票可能在超過20萬個組合里(南車北車中車,暴風科技)
離線計算,存儲計算後的結果
股價3秒變一次,涉及到這支股票的所有組合理論上也需要每 3 秒重新計算一次
大家可能會問,為什麼不用戶請求時,實時計算呢?這是因為「組合凈值」中還包括分紅送配,分股,送股,拆股,合股,現金,紅利等等,業務太過復雜,開發初期經常需要調整計算邏輯,所以就設計成後台離線計算模式了。當前正在改造,將分紅送配邏輯做成離線計算,股價組成的凈值實時計算。介面請求是,將實時計算部分和離線計算部分合並成最終結果。
實際上,我們的計算邏輯是比較低效的:循環遍歷所有的組合,對每個組合,獲取所有的價值數據,然後計算。完成一遍循環後,立即開始下一輪循環。
優化:
分級:活躍用戶的活躍組合,其它組合。
批量:拉取當前所有股票的現價到 JVM 內存里,這一輪的所有組合計算都用這一份股價快照。
關於這個話題的更詳細內容,感興趣的可以參考雪球組合業務總監張岩楓在今年的 arch summit 深圳大會上的分享:構建高可用的雪球投資組合系統技術實踐 http://sz2015.archsummit.com/speakers/201825
最後,我們還做了一些通用的架構和性能優化,包括jdk升級到8,開發了一個基於 zookeeper 的 config center 和開關降級系統
四. 聊聊關於架構優化的一些總結和感想
在各種場合經常聽說的架構優化,一般都是優化某一個具體的業務模塊,將性能優化到極致。而在雪球,我們做的架構優化更多的是從問題出發,解決實際問題,解決到可以接受的程度即可。可能大家看起來會覺得很凌亂,而且每個事情單獨拎出來好像都不是什麼大事。
我們在對一個大服務做架構優化時,一般是往深入的本質進行挖掘;當我們面對一堆架構各異的小服務時,「架構優化」的含義其實是有一些不一樣的。大部分時候,我們並不需要(也沒有辦法)深入到小服務的最底層進行優化,而是去掉或者優化原來明顯不合理的地方就可以了。
在快速迭代的創業公司,我們可能不會針對某一個服務做很完善的架構設計和代碼實現,當出現各種問題時,也不會去追求極致的優化,而是以解決瓶頸問題為先。
即使我們經歷過一回將 snowball 拆分服務化的過程,但當我們重新上一個新的業務時,我們依然選擇將它做成一個大一統的服務。只是這一次,我們會提前定義好每個模塊的 service 介面,為以後可能的服務化鋪好路。
在創業公司里,重寫是不能接受的;大的重構,從時間和人力投入上看,一般也是無法承擔的。而「裱糊匠」式做法,哪裡有性能問題就加機器,加緩存,加資料庫,有可用性問題就加重試,加log,出故障就加流程,加測試,這也不是雪球團隊工作方式。我們一般都採用最小改動的方式,即,准確定義問題,定位問題根源,找到問題本質,制定最佳方案,以最小的改動代價,將問題解決到可接受的范圍內。
我們現在正在所有的地方強推3個數據指標:qps,p99,error rate。每個技術人員對自己負責的服務,一定要有最基本的數據指標意識。數字,是發現問題,定位根源,找到本質的最重要的依賴條件。沒有之一。
我們的原則:保持技術棧的一致性和簡單性,有節制的嘗試新技術,保持所有線上服務依賴的技術可控,簡單來說,能 hold 住。
能用cache的地方絕不用db,能非同步的地方,絕不同步。俗稱的:吃一塹,長一智。
特事特辦:業務在發展,需求在變化,實現方式也需要跟著變化。簡單的來說:遺留系統的優化,最佳方案就是砍需求,呵呵。