- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《QCon上海二零一六-58同城典型技术架构优化之路-孙玄》.pdf
58同城典型技术架构优化之路
孙玄@58赶集集团
2015-6-3
2015-6-3
关于我
58同城系统架构师
即时通讯、C2C技术负责人
技术委员会架构组主任
前百度高级工程师
代表58同城多次对外分享交流
OutLine
传统的IM架构如何设计?如何满足百万同时在线的性能需求?
从传统IM到商家管理平台,我们的架构如何优化?
从商家管理到移动营销工具,我们的架构又如何优化?
58帮帮从PC端发展到移动端,针对移动版的网络不稳定、流量、电量短
板等问题,我们的协议、架构如何优化设计?
PUSH推送作为58帮帮最核心的技术之一,我们是如何持续优化满足每天
百亿吞吐量的公司统一推送平台?
背
线上情况
模块
30+
JAVA/CPP
请求
10亿 (IM)+30亿 (!IM)
同时在线用户数突破100w+
机器
60+
传统的IM架构如何设计?如何满足百万
同时在线的性能需求?
定位
传统IM
满足58用户与商户沟通,获取信息
核心功能
用户关系
添加好友
发送消息
传统的IM架构如何设计?
传统IM技术架构
传统IM架构如何满足百万同时在线性
能?
分层低耦合的架构设计
接入层、逻辑层、路由层、数据层
无状态设计
每层模块动态高扩展
模块冗余,高可用性保证
动态负载均衡,动态切换可用服务节点
优化效果
单机线上支持50W+同时在线
单机线上3w+qps
从传统IM到商家管理平台,我们的架构
如何优化?
从传统到商家(移动)管理平台
定位
商家管理工具,帖子刷新、置顶等操作
功能
简历推荐、房产发布等
从传统IM到商家管理平台,我们的架构
如何优化?
商家(移动)管理平台
技术架构优化
客户端直接http调用
从传统IM到商家管理平台,我们的架构
如何优化?
从传统IM到商家(移动)管理平台
技术架构优化
客户端直接调用下游http请求
快速满足功能开发需求
存在问题
下游接口偶尔变化
业务逻辑耦合APP,策略变化
APP升级代价大
从传统IM到商家管理平台,我们的架构
如何优化?
传统IM到商家(移动)管理平台
技术架构继续优化
APP调用帮帮Server
变化可控
从传统IM到商家管理平台,我们的架构
如何优化?
传统IM到商家(移动)管理平台
技术架构优化效果
客户端调用帮帮Server
Server统一封装屏蔽,下游变化对APP透明
接口变化、业务变化、APP升级代价大
存在问题
路径太长
移动化,网络不稳定
长连接依赖
从商家管理到移动营销工具,我们的架
构又如何优化?
商家随身的移动营销工具
定位
商家移动生意平台
功能
招聘、房产、二手车、黄页等等
从商家管理到移动营销工具,我们的架
构又如何优化?
从商家管理到商家随身的移动营销工具
技术架构如何优化
APP调用帮帮WebServer
从商家管理到移动营销工具,我们的架
构又如何优化?
从商家管理到商家随身的移动营销工具
技术架构优化效果
IM架构+业务架构
TCP长连接+HTTP短连接
im相关(用户、好友、消息、推送)
TCP长连接
及时性解决方案
第三方业务
HTTP短连接
文档评论(0)