版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、下的雪球架构进化历程唐雪球首席架构师大纲! 关于雪球,关于我! 雪球总体架构! 雪球架构优化历程! 一些总结和感想关于雪球! 雪球聪明的投资者都在这里! web 1.0:资讯,股价信息,K线图! web 2.0:SNS 订阅,聊天! web 3.0:移动 APP,交易闭环! /about简历送6!关于雪球! 员工 100+ ,技术占一半! 2014.9 C轮 $40M by RENN! Java,Scala,Akka,Finagle, Nodejs,Docker ,Hadoop! 租用IDC机房自建私有云,正在往“公有云+私有云”方向发展关于雪球! 沪美2w+! 债券,私募。,基金,比特币,!
2、 百万组合,实时调仓信息! 百万日活,每天4亿API调用(不算自动轮询接口)关于我! 前架构师,ID 唐短链!计数器 redis,rediscounter!用户关系服务!稳定性、性能改进!关于我! 雪球首席架构师,雪球ID 唐! 性能,稳定性,代码质量改进! 基础组件,微服务容器建设! XDC 雪球数据中心大纲! 关于雪球,关于我! 雪球总体架构! 雪球架构优化历程! 一些总结和感想大纲! 关于雪球,关于我! 雪球总体架构! 雪球架构优化历程! 一些总结和感想2015年大盘走势! ! 小 VS 大:! 小:小公司的体量,团队小,机器规模小! 大:堪比大公司的业务线数量,业务复杂度,瞬间峰值冲击
3、! 快速增长! 移动互联网 + 金融,风口大盘剧烈波动!优化! 前端! Hybrid APP,端到端可用性! 接入层! 轮询Server优化! 业务层! 股价提醒,IM 推送,逻辑! 通用优化! JDK8,config service,metricsHybrid APP! 雪球App实践构建灵活、可靠的 Hybrid框架! ht/2015mobile/! htt/data/ 2080769! 原生框架 + 离线H5页面APP端可用性! 移动时代端到端的稳定性保障! 每个请求里带上前一个请求的结果! succ or fail : 1 char! 失败原因:0 - 1 char! 请求接口: 1
4、char! 请求耗时:2 - 3 char! 其它:网络制式,etcQuote Server! 开盘期间,每个客户端(包括web)每1秒轮询一次当前用户关注的格变动情况的价! Netty + 本地内存! 主动更新股价提醒性能优化! 雪球上热门拥有超过 50w 粉丝(招商,苏宁云商)! 粉丝可以设置:当这支涨幅或跌幅超过 x%(默认7%)时提醒我! 曾经连续3天,每天超过1000股,证监会开了一个会,于是接下来2天超过 1000股涨停股价提醒性能优化(2)! 原来做法:涨(跌)x%,扫一遍粉丝列表,过滤出所有符合条件的粉丝,推送消息! 新做法:预先建立索引,开盘期间载入内存! 1%:uid1,u
5、id2! 2%:uid3,uid4,uid5! 3%:uid6! 问题:有时候嫌太及时了:频繁,打开,再,再打开。的时候IM 推送性能优化! 聊天功能:送达率第一! 雪球IM:Netty + 自定义网络协议! Akka : 每个cnt一个actor! 推模式:cnt情况下使用推模式! 多端同步:单账号多端可登录,并保持各种状态同步IM 推送性能优化(2)! 推送功能:瞬间峰值性能第一! 优化分配资源:推送账号actor池!精简业务逻辑:重复消息只存id,实时提醒内容不推历史设备,不更新非活跃设备的!Ses列表等等本地缓存:拉黑等无法精简的业务逻辑迁移到本地缓存!优化代码:异步加密 akka 使
6、用,去除不合理的!模块优化! 2015.7.10/17/24 中国! 预估期间2小时新100万! 压测发现 DB 成为瓶颈:! 昵称检测 cache miss 40%! 昵称禁用词 where like 模糊查询号是否cache miss 80%!新用户:5 insert!模块优化(2)! 优化:! redis store:昵称,号! 本地:昵称禁用词! 业务流程优化:DB insert 操作同步改异步前置模块HA! 合作方合规要求:业务单元部署到合作方内网,用户的敏感数据不允许离开进程内存! 业务本身要求:业务单元本身为有状态服务,业务单元高可用前置模块HA(2)! 解决方案:! Hazel
7、castemory Data Grid! replication map! java -XX:+DisableAtta-XX:-UsePerfDataechanism组合净值计算性能优化! 一支可能在超过20万个组合里(南车北车中车,暴风科技)! 离线计算,计算后的结果! 股价3秒变一次,涉及到这支的所有组合理论上也需要每 3 秒重新计算一次组合净值计算性能优化(2)! Akka! 分级 + 批量! 构建高可用的雪球投资组合系统技术实践/!speakers/201825通用优化! JDK6 升级 JDK8!-XX:+ParallelRefProcEnabled-XX:-CMSClanloadi
8、ngEnabled! Config Center和开关降级通用优化(2)所有cnt! redis, http, mqmetrics体系! dropwizard + logback appender大纲! 关于雪球,关于我! 雪球总体架构! 雪球架构优化历程! 一些总结和感想总结! 一个单一架构的大服务 VS 一堆架构各异的小服务总结! 高大上的架构 VS 可以工作的架构! 优化到极致 VS 优化到可以接受总结! 重写! 重构! 裱糊匠! 最小改动总结! 数据指标!数据指标!数据指标!! qps! p99! error rate! USE method:Utilization, Saturation,error(Velocity 2013, Performance Methodologies for Production Systems,Brendan Gregg)总结! 技术栈的一致性和简单性总结! 能用cache的地方绝不用db! 能异步的地方,绝不同步总结! 特事特办:业务在发展,需求在变化,实现方式也需要跟着变化感想! 技术的自我修养:! 知道好的结果! 知道如何去追求好的结果! 能够给出好的结果感想! 技术方案:! 20倍设计,10倍实现,3倍部署! 扩展性:凡事留
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版工程清包合同:工程设计变更与施工方案调整
- 2024某企业与咨询公司之间的管理咨询服务合同
- 2025年度香菇食品产品线扩展与市场拓展合同3篇
- 二零二五版智慧交通系统开发与技术支持协议2篇
- 二零二五版二手房买卖合同公证与节能环保改造服务协议2篇
- 2025年度跨国企业集团财务合并报表编制合同3篇
- 2024年销售代理协议(意向)3篇
- 个性化活动策划方案协议2024规格版A版
- 2024版地暖安装工程承包合同书
- 2024版企业业务外包人员协议模板版B版
- 前列腺增生药物治疗
- 人工智能知识图谱(归纳导图)
- 滴滴补贴方案
- 民宿建筑设计方案
- 干部基本信息审核认定表
- 2023年11月外交学院(中国外交培训学院)2024年度公开招聘24名工作人员笔试历年高频考点-难、易错点荟萃附答案带详解
- 春节行车安全常识普及
- 电机维护保养专题培训课件
- 汽车租赁行业利润分析
- 春节拜年的由来习俗来历故事
- 2021火灾高危单位消防安全评估导则
评论
0/150
提交评论