雪球股票炒股交流聪明的投资者都在这里
『壹』 亲们,我是炒股新手,想了解一下上市公司的一些信息,去哪看比较准确一些啊比如:路演啊
打开股票软件,按键盘上的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,能异步的地方,绝不同步。俗称的:吃一堑,长一智。
特事特办:业务在发展,需求在变化,实现方式也需要跟着变化。简单的来说:遗留系统的优化,最佳方案就是砍需求,呵呵。