股市动荡下的雪球架构进化历程_第1页
股市动荡下的雪球架构进化历程_第2页
股市动荡下的雪球架构进化历程_第3页
股市动荡下的雪球架构进化历程_第4页
股市动荡下的雪球架构进化历程_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、股市动荡下的雪球架构进化历程q?关于雪球,关于我q?雪球总体架构q?雪球架构优化历程q?一些总结和感想大纲q?员工 100+ ,技术人员占一半q?2014.9C轮 $40M by RENNq?Java,Scala,Akka,Finagle,Nodejs,Docker ,Hadoopq?租用IDC机房自建私有云,正在往“公有云+私有云”方向发展关于雪球q?沪深港美2w+股票q?债券,期货,基金,比特币,信托,理财,私募。q?百万组合,实时调仓信息q?百万日活,每天4亿API调用(不算自动轮询接口)关于雪球q?前新浪微博架构师,微博ID 唐福林q?微博短链 q?微博计数器 redis,redisc

2、ounterq?微博用户关系服务q?微博稳定性、性能改进关于我q?雪球首席架构师,雪球ID 唐福林q?性能,稳定性,代码质量改进q?基础组件,微服务容器建设q?XDC雪球数据中心关于我q?关于雪球,关于我q?雪球总体架构q?雪球架构优化历程q?一些总结和感想大纲雪球总体架构q?关于雪球,关于我q?雪球总体架构q?雪球架构优化历程q?一些总结和感想大纲2015年A股大盘走势q?小 VS 大:q?小:小公司的体量,团队小,机器规模小q?大:堪比大公司的业务线数量,业务复杂度,瞬间峰值冲击挑战q?快速增长q?移动互联网 + 金融,风口q?A股大盘剧烈波动挑战q?前端q?Hybrid APP,端到端可

3、用性监控q?接入层q?轮询Server优化q?业务层q?股价提醒,IM 推送,注册逻辑 优化q?雪球App实践构建灵活、可靠的Hybrid框架q?http:/ 离线H5页面Hybrid APPq?q?q?q?q?succ or fail : 1 char失败原因:0 - 1 char请求接口编号: 1 char请求耗时:2 - 3 char其它:网络制式,etcAPP端可用性监控q?移动时代端到端的稳定性保障q?每个请求里带上前一个请求的结果q?开盘期间,每个在线客户端(包括web)每1秒轮询一次当前用户关注的股票的价格变动情况q?Netty + 本地内存存储q?主动更新Quote Serve

4、rq?雪球上热门股票拥有超过 50w 粉丝(招商银行,苏宁云商)q?粉丝可以设置:当这支股票涨幅或跌幅超过 x%(默认7%)时提醒我q?曾经连续3天,每天超过1000股跌停,证监会开了一个会,于是接下来2天超过1000股涨停股价提醒性能优化q?q?q?1%:uid1,uid22%:uid3,uid4,uid53%:uid6股价提醒性能优化(2)q?原来做法:股票涨(跌)x%,扫一遍粉丝列表,过滤出所有符合条件的粉丝,推送消息q?新做法:预先建立索引,开盘期间载入内存q?聊天功能:送达率第一q?雪球IM:Netty + 自定义网络协议q?Akka: 每个在线client一个actorq?推模式:

5、client 在线情况下使用推模式q?多端同步:单账号多端可登录,并保持各种状态同步IM 推送性能优化q?q?推送功能:瞬间峰值性能第一优化q?q?q?q?分配更多资源:推送账号actor池精简业务逻辑:重复消息只存id,实时提醒内容不推历史设备,不更新非活跃设备的Session列表等等本地缓存:拉黑等无法精简的业务逻辑迁移到本地缓存优化代码:异步加密存储,去除不合理的akka 使用IM 推送性能优化(2)中国好声音q?预估广告播出期间2小时新注册100万q?压测发现 DB 成为瓶颈:q?昵称检测 cache miss 40%q?昵称禁用词 where like 模糊查询cache miss

6、80%注册模块优化q?2015.7.10/17/24q?优化:q?redisstore:昵称,手机号q?本地存储:昵称禁用词insert 操作同步改q?业务流程优化:DB异步注册模块优化(2)q?合作方合规要求:业务单元部署到合作方内网,用户的敏感数据不允许离开进程内存q?业务本身要求:业务单元本身为有状态服务,业务单元高可用前置模块HAq?解决方案:q?HazelcastIn-Memory Data Gridq?replicationmapq?java -XX:+DisableAttachMechanism-XX:-UsePerfData前置模块HA(2)q?一支股票可能在超过20万个组合里

7、(南车北车中车,暴风科技)q?离线计算,存储计算后的结果q?股价3秒变一次,涉及到这支股票的所有组合理论上也需要每 3 秒重新计算一次组合净值计算性能优化q?Akkaq?分级 + 批量q?构建高可用的雪球投资组合系统技术实践q?http:/ JDK8q?-XX:+ParallelRefProcEnabled -XX:-CMSClassUnloadingEnabledq?ConfigCenter和开关降级通用优化q?统一所有clientq?redis, mysql, http, mqq?统一metrics体系q?dropwizard + logback appender通用优化(2)q?关于雪球

8、,关于我q?雪球总体架构q?雪球架构优化历程q?一些总结和感想大纲VS 一堆架构各异q?一个单一架构的大服务的小服务总结q?高大上的架构 VS 可以工作的架构q?优化到极致 VS 优化到可以接受总结q?重写q?重构q?裱糊匠q?最小改动总结q?数据指标!数据指标!数据指标!q?qpsq?p99q?errorrateq?USEmethod:Utilization,Saturation,error(Velocity 2013, Performance Methodologies for ProductionSystems,Brendan Gregg)总结q?技术栈的一致性和简单性总结q?能用cache的地方绝不用dbq?能异步的地方,绝不同步总结q?特事特办:业务在发展,需求在变化,实现方式也需要跟着变化总结q?技术人员的自我修养:q?知道什么是好的结果q?知道如何去追求好的结果q?能够给出好的结果感想q?技术方案:q?20倍设计,10倍实现,3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论