开源毫秒服务引擎的设计 与实现

开源毫秒服务引擎的设计 与实现

ID:8268106

大小:5.71 MB

页数:49页

时间:2018-03-15

开源毫秒服务引擎的设计 与实现_第1页
开源毫秒服务引擎的设计 与实现_第2页
开源毫秒服务引擎的设计 与实现_第3页
开源毫秒服务引擎的设计 与实现_第4页
开源毫秒服务引擎的设计 与实现_第5页
资源描述:

《开源毫秒服务引擎的设计 与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、开源毫秒服务引擎的设计与实现QQ团队开发运营实践杨宇毫秒服务引擎技术负责人目录QQ后台团队演进毫秒思路毫秒功能毫秒亮点目录QQ后台团队演进毫秒思路毫秒功能毫秒亮点QQ后台团队演进青铜时代约50人的开发团队,开发运营高度依赖开发和运维白银时代约200人的开发团队,重点服务集中化,开发运营流程规范化黄金时代对美好的追求让我们创造了毫秒青铜时代模块A基于Tag-Length-Value多进程异步框架的二进制协议后端模块B获取后端B的可用实例定期获取模块模块B路模块B路由AgentB路由配置更新由配置中心模块A的一个实例模块B的一个实例名字发现和路由服务模块A多进程异步框架每个后端模

2、块提供自己的AgentAgent标准化:目录/配置/共享内存id冲突各个Agent容错能力不一模块B路由0Agent模块B路由当模块需要调用10+个后端模块时1Agent开发/运维集体跳起来了...模块B路由nAgent模块A的一台服务器Tag-Length-Value协议根据Tag进行扩展,如获取用户的简单资料请求:dwQQ+wTagNum+wTag1+…+wTagN回包:wTagNum+(wTag1+wLen1+sValue1)+…+(wTagN+wLenN+sValueN)没有IDL化,无法自动生成打解包代码重复代码无法体现程序员的“价值”各种奇葩的bugTag-Len

3、gth-Value协议根据Tag进行扩展,如获取用户的简单资料请求:dwQQ+wTagNum+wTag1+…+wTagN回包:wTagNum+(wTag1+wLen1+sValue1)+…+(wTagN+wLenN+sValueN)请求回包charbuf[64]={0};structUserBasicInfochar*p=buf;{PACK_PUT_UINT32(p,dwQQ);p+=4;std::stringsNick;PACK_PUT_UINT16(p,Tags.size());p+=2;uint16_twFaceId;for(autoit=Tags.begin();it

4、!=uint32_tdwBirthDate;Tags.end();it++)};{…PACK_PUT_UINT16(p,*it);p+=2;for(uint16_ti=0;i

5、一seqiPkgLen){ctx->seq=gen_seq();if(iID==ModuleB_ID){//后端模块B请求打包,填入seqUnPackModuleB(pPkg,iPkgLen);PackModuleB(ctx->seq,req_str);//逻辑继续处理...//通过AgentAPI获取后端模块B的地址}GetAddr(ModuleB_ID,&(ctx.srvaddr));DelContext(ctx);//框架异步发包API}AsyncSend(ModuleB_ID,ctx,req_str);//框架异步超时处理流程intHandleTimeout(Cont

6、ext*ctx,intiID){}当一个业务逻辑需要调用10+个后端模块时,代码复杂度成几何倍数上升!青铜时代反思优点缺点可运维性差;Agent容错能力参差不名字发现服务和路由服务服务容错齐TLV协议可扩展强重复编码随业务流程复杂度增加,代码可读性异步IO远程调用高性能和可维护性随成倍数下降监控点、告警点设置依赖开发意识;监控和告警业务定制上报;短信和邮件告警告警多运维累日志有本地和远程日志;有染色能力定位问题效率低服务路径/命名/配置/工具/开发自由发挥J运维低效文档等没有统一标准白银时代模块AProtobuf协议多进程协程框架后端模块B获取后端服务的可用实例名字发现和路由

7、Agent后端服务扩模块A的一个实例缩容更新路由模块B的一个实例定期更新后端服务的路由配置名字发业务树发布管理现和路统一监控统一日志由服务集中化服务白银时代反思RPC!RPC!RPC!标准化开发运营体系积重难返黄金时代模块A多进程协程RPC框架ProtobufRPC协议后端模块B获取后端服务的可用实例名字发现和路由Agent后端服务扩模块A的一个实例缩容更新路由模块B的一个实例定期更新后端服务的路由配置名字发集中化业务树发布管理现和路统一监控统一日志控制台由服务集中化服务目录QQ后台团队演进毫秒思路毫秒

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。