下载 >  开发技术 >  其它 > 分布式服务框架原理与实践

分布式服务框架原理与实践

本书作者具有丰富的分布式服务框架、平台中间件的架构设计和实践经验,主导设计的华为分布式服务框架已经在全球数十个国家成功商用。书中依托工作实践,从分布式服务框架的架构设计原理到实践经验总结,涵盖了服务化架构演进、订阅发布、路由策略、集群容错和服务治理等多个专题,全方位剖析服务框架的设计原则和原理,结合大量实践案例与读者分享作者对分布式服务框架设计和运维的体会。同时,对基于Docker部署微服务以及基于微服务架构开发、部署和运维业务系统进行了详细介绍。
2018-01-29 上传大小:40.65MB
想读
分享
收藏 举报
分布式服务框架原理实践(高清完整版)

第1章应用架构演进1 1.1传统垂直应用架构2 1.1.1垂直应用架构介绍2 1.1.2垂直应用架构面临的挑战4 1.2RPC架构6 1.2.1RPC框架原理6 1.2.2最简单的RPC框架实现8 1.2.3业界主流RPC框架14 1.2.4RPC框架面临的挑战17 1.3SOA服务化架构18 1.3.1面向服务设计的原则18 1.3.2服务治理19 1.4微服务架构21 1.4.1什么是微服务21 1.4.2微服务架构对比SOA22 1.5总结23 第2章分布式服务框架入门25 2.1分布式服务框架诞生背景26 2.1.1应用从集中式走向分布式.26? 2.1.2亟需服务治理28 2.2业界分布式服务框架介绍29 2.2.1阿里Dubbo30 2.2.2淘宝HSF33 2.2.3亚马逊CoralService35 2.3分布式服务框架设计36 2.3.1架构原理36 2.3.2功能特性37 2.3.3性能特性39 2.3.4可靠性39 2.3.5服务治理40 2.4总结41 第3章通信框架42 3.1关键技术点分析43 3.1.1长连接还是短连接43 3.1.2BIO还是NIO43 3.1.3自研还是选择开源NIO框架46 3.2功能设计47 3.2.1服务端设计48 3.2.2客户端设计50 3.3可靠性设计53 3.3.1链路有效性检测54 3.3.2断连重连机制56 3.3.3消息缓存重发57 3.3.4资源优雅释放58 3.4性能设计59 3.4.1性能差的三宗罪59 3.4.2通信性能三原则60 3.4.3高性能之道61 3.5最佳实践61 3.6总结64 第4章序列化与反序列化65 4.1几个关键概念澄清66 4.1.1序列化与通信框架的关系66 4.1.2序列化与通信协议的关系66 4.1.3是否需要支持多种序列化方式67 4.2功能设计67 4.2.1功能丰富度67 4.2.2跨语言支持68 4.2.3兼容性69 4.2.4性能70 4.3扩展性设计71 4.3.1内置的序列化/反序列化功能类71 4.3.2反序列化扩展72 4.3.3序列化扩展75 4.4最佳实践77 4.4.1接口的前向兼容性规范77 4.4.2高并发下的稳定性78 4.5总结78 第5章协议栈79 5.1关键技术点分析.80 5.1.1是否必须支持多协议80 5.1.2公有协议还是私有协议80 5.1.3集成开源还是自研81 5.2功能设计82 5.2.1功能描述82 5.2.2通信模型82 5.2.3协议消息定义84 5.2.4协议栈消息序列化支持的字段类型85 5.2.5协议消息的序列化和反序列化86 5.2.6链路创建89 5.2.7链路关闭90 5.3可靠性设计90 5.3.1客户端连接超时90 5.3.2客户端重连机制91 5.3.3客户端重复握手保护91 5.3.4消息缓存重发92 5.3.5心跳机制92 5.4安全性设计92 5.5最佳实践—协议的前向兼容性94 5.6总结95 第6章服务路由96 6.1透明化路由97 6.1.1基于服务注册中心的订阅发布97 6.1.2消费者缓存服务提供者地址98 6.2负载均衡98 6.2.1随机98 6.2.2轮循99 6.2.3服务调用时延99 6.2.4一致性哈希100 6.2.5粘滞连接101 6.3本地路由优先策略102 6.3.1injvm模式102 6.3.2innative模式102 6.4路由规则103 6.4.1条件路由规则103 6.4.2脚本路由规则104 6.5路由策略定制105 6.6配置化路由106 6.7最佳实践—多机房路由107 6.8总结108 第7章集群容错109 7.1集群容错场景110 7.1.1通信链路故障110 7.1.2服务端超时111 7.1.3服务端调用失败111 7.2容错策略112 7.2.1失败自动切换(Failover)112 7.2.2失败通知(Failback)113 7.2.3失败缓存(Failcache)113 7.2.4快速失败(Failfast)114 7.2.5容错策略扩展114 7.3总结115 第8章服务调用116 8.1几个误区117 8.1.1NIO就是异步服务117 8.1.2服务调用天生就是同步的118 8.1.3异步服务调用性能更高120 8.2服务调用方式120 8.2.1同步服务调用120 8.2.2异步服务调用121 8.2.3并行服务调用125 8.2.4泛化调用129 8.3最佳实践130 8.4总结131 第9章服务注册中心132 9.1几个概念133 9.1.1服务提供者133 9.1.2服务消费者133 9.1.3服务注册中心133 9.2关键功能特性设计134 9.2.1支持对等集群135 9.2.2提供CRUD接口136 9.2.3安全加固136 9.2.4订阅发布机制137 9.2.5可靠性138 9.3基于ZooKeeper的服务注册中心设计139 9.3.1服务订阅发布流程设计139 9.3.2服务健康状态检测141 9.3.3对等集群防止单点故障142 9.3.4变更通知机制144 9.4总结144 第10章服务发布和引用145 10.1服务发布设计146 10.1.1服务发布的几种方式146 10.1.2本地实现类封装成代理148 10.1.3服务发布成指定协议148 10.1.4服务提供者信息注册149 10.2服务引用设计150 10.2.1本地接口调用转换成远程服务调用150 10.2.2服务地址本地缓存151 10.2.3远程服务调用151 10.3最佳实践152 10.3.1对等设计原则152 10.3.2启动顺序问题153 10.3.3同步还是异步发布服务153 10.3.4警惕网络风暴154 10.3.5配置扩展154 10.4总结156 第11章服务灰度发布157 11.1服务灰度发布流程设计158 11.1.1灰度环境准备158 11.1.2灰度规则设置159 11.1.3灰度规则下发160 11.1.4灰度路由161 11.1.5失败回滚162 11.1.6灰度发布总结163 11.2总结163 第12章参数传递164 12.1内部传参165 12.1.1业务内部参数传递165 12.1.2服务框架内部参数传递168 12.2外部传参169 12.2.1通信协议支持169 12.2.2传参接口定义170 12.3最佳实践171 12.3.1防止参数互相覆盖171 12.3.2参数生命周期管理171 12.4总结172 第13章服务多版本173 13.1服务多版本管理设计174 13.1.1服务版本号管理174 13.1.2服务提供者175 13.1.3服务消费者175 13.1.4基于版本号的服务路由176 13.1.5服务热升级177 13.2与OSGi的对比178 13.2.1模块化开发179 13.2.2插件热部署和热升级184 13.2.3不使用OSGi的其他理由185 13.3总结185 第14章流量控制186 14.1静态流控187 14.1.1传统静态流控设计方案187 14.1.2传统方案的缺点188 14.1.3动态配额分配制188 14.1.4动态配额申请制190 14.2动态流控191 14.2.1动态流控因子192 14.2.2分级流控192 14.3并发控制193 14.3.1服务端全局控制193 14.3.2服务消费者流控194 14.4连接控制195 14.4.1服务端连接数流控195 14.4.2服务消费者连接数流控195 14.5并发和连接控制算法195 14.6总结197 第15章服务降级198 15.1屏蔽降级199 15.1.1屏蔽降级的流程199 15.1.2屏蔽降级的设计实现200 15.2容错降级202 15.2.1容错降级的工作原理202 15.2.2运行时容错降级.204 15.3业务层降级205 15.4总结205 第16章服务优先级调度207 16.1设置服务优先级208 16.2线程调度器方案209 16.3Java优先级队列210 16.4加权优先级队列211 16.5服务迁入迁出212 16.6总结213 第17章服务治理214 17.1服务治理技术的历史变迁215 17.1.1SOAGovernance215 17.1.2分布式服务框架服务治理217 17.1.3AWS云端微服务治理217 17.2应用服务化后面临的挑战218 17.2.1跨团队协作问题219 17.2.2服务的上下线管控220 17.2.3服务安全220 17.2.4服务SLA保障.221 17.2.5故障快速定界定位221 17.3服务治理222 17.3.1服务治理架构设计223 17.3.2运行态服务治理功能设计225 17.3.3线下服务治理232 17.3.4安全和权限管理234 17.4总结237 第18章分布式消息跟踪239 18.1业务场景分析240 18.1.1故障的快速定界定位240 18.1.2调用路径分析241 18.1.3调用来源和去向分析242 18.2分布式消息跟踪系统设计242 18.2.1系统架构243 18.2.2埋点日志244 18.2.3采样率247 18.2.4采集和存储埋点日志248 18.2.5计算和展示249 18.2.6调用链扩展251 18.3总结251 第19章可靠性设计253 19.1服务状态检测254 19.1.1基于服务注册中心状态检测254 19.1.2链路有效性状态检测机制255 19.2服务健康度检测256 19.3服务故障隔离257 19.3.1进程级故障隔离257 19.3.2VM级故障隔离259 19.3.3物理机故障隔离260 19.3.4机房故障隔离261 19.4其他可靠性特性262 19.4.1服务注册中心262 19.4.2监控中心262 19.4.3服务提供者262 19.5总结263 第20章微服务架构264 20.1微服务架构产生的历史背景265 20.1.1研发成本挑战265 20.1.2运维成本高267 20.1.3新需求上线周期长268 20.2微服务架构带来的改变268 20.2.1应用解耦268 20.2.2分而治之270 20.2.3敏捷交付271 20.3微服务架构解析271 20.3.1微服务划分原则272 20.3.2开发微服务272 20.3.3基于Docker容器部署微服务274 20.3.4治理和运维微服务277 20.3.5特点总结278 20.4总结279 第21章服务化最佳实践280 21.1性能和时延问题281 21.1.1RPC框架高性能设计281 21.1.2业务最佳实践285 21.2事务一致性问题286 21.2.1分布式事务设计方案287 21.2.2分布式事务优化288 21.3研发团队协作问题289 21.3.1共用服务注册中心290 21.3.2直连提供者290 21.3.3多团队进度协同291 21.3.4服务降级和Mock测试291 21.3.5协同调试问题292 21.3.6接口前向兼容性292 21.4总结292

立即下载
分布式服务框架原理实践-完整版.pdf

分布式服务

立即下载
分布式服务框架原理实践(李林锋) 中文PDF版

《分布式服务框架:原理与实践》作者具有丰富的分布式服务框架、平台中间件的架构设计和实践经验,主导设计的华为分布式服务框架已经在全球数十个国家成功商用。《分布式服务框架:原理与实践》依托工作实践,从分布式服务框架的架构设计原理到实践经验总结,涵盖了服务化架构演进、订阅发布、路由策略、集群容错和服务治理等多个专题,全方位剖析服务框架的设计原则和原理,结合大量实践案例与读者分享作者对分布式服务框架设计和运维的体会。同时,对基于Docker部署微服务以及基于微服务架构开发、部署和运维业务系统进行了详细介绍。 目录: 第1章 应用架构演进 1 第2章 分布式服务框架入门 25 第3章 通信框架 42 第4章 序列化与反序列化 65 第5章 协议栈 79 第6章 服务路由 96 第7章 集群容错 109 第8章 服务调用 116 第9章 服务注册中心 132 第10章 服务发布和引用 145 第11章 服务灰度发布 157 第12章 参数传递 164 第13章 服务多版本 173 第14章 流量控制 186 第15章 服务降级 198 第16章 服务优先级调度 207 第17章 服务治理 214 第18章 分布式消息跟踪 239 第19章 可靠性设计 253 第20章 微服务架构 264 第21章 服务化最佳实践 280

立即下载
分布式服务框架原理实践.pdf(带目录)

第1章应用架构演进1 1.1传统垂直应用架构2 1.1.1垂直应用架构介绍2 1.1.2垂直应用架构面临的挑战4 1.2RPC架构6 1.2.1RPC框架原理6 1.2.2最简单的RPC框架实现8 1.2.3业界主流RPC框架14 1.2.4RPC框架面临的挑战17 1.3SOA服务化架构18 1.3.1面向服务设计的原则18 1.3.2服务治理19 1.4微服务架构21

立即下载
分布式服务框架原理实践_李林锋pdf(带目录)

分布式服务框架原理与实践_李林锋pdf(带目录)分布式服务框架原理与实践_李林锋pdf(带目录) 7z压缩打开即可

立即下载
分布式服务框架原理实践_李林锋著-完整书签

仅供参考,作者拥有所有版权 第1 章应用架构演进......……………….. . .....… ........................ . .... .. ... .. ................... . ..1 1.1 传统垂直应用架构................................................…......…..............… ...........2 1.1.1 垂直应用架构介绍........ . ............. .. .... . . .. ....…...... . .......…........… .........2 1.1.2 垂直应用架构面临的挑战............………………………………............ 4 1.2 RPC 架构.......……………·………….................…………………………………… ...6 l.2.1 RPC 框架原理...................... . ........…...............…………·………...... 6 1.2.2 最简单的RPC 框架实现.. . . . .......... . .. . . . ..…......…...... . …… .................8 J .2.3 业界主流RPC 框架... .. ....................................... . ........……… ...........14 1.2.4 RPC 框架面临的挑战-……………………………·….............................. 17 1.3 SOA 服务化架构....……….....................…..…....................................... . .... 18 1.3.1 面向服务设计的原则...... . ......... . ...... . ..... . . . ...... . .................................四 1.3.2 服务治理.......…………………... . ...……......…....... . ........….. .. ...... .. ...... 19 1.4 微服务架构. . ........... . ... . …… . ....... . ......... … …..……….........….......……............ 21 1.4 .1 什么是微服务........………….. .. . . ..….................…............ . .......…….. 21 1.4.2 微服务架构对比SOA...... ……………........ . .. . ..….......... . .........… .....22 1.5 总结................................ . ................. . ..............………...........…… ...............23 第2 章分布式服务框架入门.. . ................... . .... . . . .. . ...... . .………………………… .......2 5 2.1 分布式服务框架诞生背景...............................…………… ....................26 2. 1.1 应用从集中式走向分布式. . . ... . . . …………...............…................... 26 目录 2. l.2 亟需服务治理........................…..………………………·…… ..............28 2.2 业界分布式服务框架介绍....………. . ......................……· ……….............29 2.2.1 阿里Dubbo.. …………........…………..... . ……........………… ..............30 2.2.2 淘宝HSF ........... .. ........... ................. .. .................... .. ........ ... .... ..........33 2.2.3 亚马逊Coral Service .......…........……………4 ….....…-……·… 35 2.3 分布式服务框架设计....................…........………..… ......................................36 2.3.1 架构原理.......................................…..... . ...…………… ........................36 2.3.2 功能特性...................................... ……-…....................................37 2.3.3 性能特性.......... . .…........….......……..…………………................... 39 2.3 .4 可靠性…………-……........…… ……...…………...…-…….....… 39 2.3.5 服务泊理.......-............................………………....…… ..................40 2.4 总结........................................................... . .................... ... ................ . .........41 第3 章通信框架.....................................................................................................但 3.1 关键技术点分析........................................................................................... 43 3. 1. 1 长连接还是短连接...........................……………. . .........................… 43 3. 1.2 BIO 还是NIO...................................................................................43 3. 1.3 自研还是选择开源问O 框架........................................................... 46 3.2 功能设计.................................... . ..………………........…… . ....... ... ......……… ...47 3.2.1 服务端设计..........,...................…………………………........................... 48 3.2.2 客户端设计........ . .........……………… …………… ……… - ………................ 50 3.3 可靠性设计................. .... ................ .... ...............................…….............. 53 3.3.1 链路有效性检测.........................……............... .… ........…………........ 54 3.3.2 断连重连机制....…………·…........… ............................................... . ...56 3.3.3 消息缓存重发.…-…….. ……........……...................................57 3.3 .4 资源优雅释放......................... ……….........…………….........…….... 58 3.4 性能设计....………..….............................................................................. 59 3.4.1 性能差的三宗罪............................... .. ..................………………...... 59 3.4.2 通信性能三原则................ .……… ....... …………….................60 3.4.3 高性能之道….........……..............…………......……… . ...…….... .. .... 61 3.5 最佳实践................................ . ................................... ... .. ........ ...………… .....61 3.6 总结..... …………….......…...............…………… .....................................64 • XI. 分布式服务框架原理与实践 第4 章序列化与反序列化.........………..........…........……………………… ...............65 4.1 几个关键概念澄清.....……………………......,......................,…………........… 66 4.1.1 序列化与通信框架的关系...... ..……………… ……… . ..... ... . ............66 4.1.2 序列化与通信协议的关系. . .............…………………............… .66 4.1.3 是否需要支持多种序列化方式... . .........… ………………… .... .......67 4.2 功能设计........ . ........... . ...........… ..................... . ........................................... .67 4.2.1 功能丰富度......... ...... .......………………………………..……·… .......67 4.2.2 跨语言支持........………… ............. ... .........................................68 4.2.3 兼容性.....….. . ...……...………-………………………………… ......69 4.2 .4 性能…………..………… .......................................... .... ................. .. .70 4.3 扩展性设计. .... .. .. . .. . .................. …………………………………............71 4.3.1 内置的序列化/反序列化功能类..............…………………… ............71 4.3.2 反序列化扩展....... . .......……..…·………... . ..………………………… .......72 4.3.3 序列化扩展…........……… ....................................... .. ........................75 4.4 最佳实践... . ........ …………………………………… .. .. ........ .. .. .......77 4.4.1 接口的前向兼容性规范. ........................................ .. .........................77 4.4.2 高并发下的稳定性...........,.. . ...…….......……….......................... .. ..... 78 4.5 总结............................................................. . .................................... . ... .. .....78 第5 章协议枝..........................................................................................…… ........79 • XII • 5.1 关键技术点分析............ . .... ………………………….....………....... 80 5. 1.1 是否必须支持多协议..... .... ....... ... ................. .... ..........................80 5.1.2 公有协议还是私有协议...............……………. ........ .... . ........ ... ....... 80 5. 1.3 集成开源还是自研........…………………………..….......…..................... 81 5.2 功能设计...........................,. …………………………......................... 82 5.2.1 功能描述.................. .... ..... . .…………………………………………… ..........82 5.2.2 通信模型............ . . . ...................... ... .............. . . ........ ............. . ............82 5.2.3 协议消息定义............................ ... ….......…......… ............. .... ...........84 5.2.4 协议枝消息序列化支持的字段类型.........……………… ..... ... ...........85 5.2.5 协议消息的序列化和反序列化........................................................86 5.2.6 链路创建............. .. .....………………………………………………………….的 目录 5.2.7 链路关闭.....……..…………….......…………… ......................... . ........90 5.3 可靠性设计...........……·………………..........................… ........ .... ...............90 5.3.1 客户端连接超时... .. ........…………………......…………………..… ........90 5.3.2 客户端重连机制. ..............................................................................引 5.3.3 客户端重复握手保护...............…… . .....……......…….............… ...........91 5.3 .4 消息缓存重发........……….............................................................. 92 5.3.5 心跳机制...........……………………………………..…........................ 92 5.4 安全性设计..................................................................................................92 日最佳实践一一协民的前向兼容性................................................................94 5.6 .总结j .............................…..................…………………..................….........….....95 第6 章服务路由.............………...……………………………………………………................ 96 6.1 透明化路由............................…...............…………………… ........................97 6. 1.1 基于服务注册中心的订阅发布....................... .. ................... ... .........97 6. 1.2 消费者缓存服务提供者地址........................................……… ...........98 6.2 负载均衡....………………………………….......……………………………………….. 98 6.2.1 随机............................. .. .......…….......…… .......................................98 6.2.2 轮循................…………………………·… . . . ..............… ........ .. ............99 6.2.3 服务调用时延............................. ..... .................................................99 6.2.4 一致性哈希....………………………………….. . …………… .........................100 6.2.5 粘滞连接.....……………………………......…………………… ......101 6.3 本地路由优先策略................ . ………………·…………............... . … ...................102 6.3.1 injvm 模式.......................................................................................102 6.3.2 innative 模式............................……………………………………… ........102 6.4 路由规则..................... . ..…………………… ...................................................103 6.4 .1 条件路由规则........ . ........... .. ........................…………… ................103 6.4.2 脚本路由规则……......…… ................................................................104 6.5 路由策略定制...................……… ……………….......……………….............105 6.6 配置化路由........…………………..............…….. ……….......…..............106 6.7 最佳实践一一多机房路由.............………........................…………… ...........107 6.8 总结....…… .............. . .................................................................... . ............108 • XIII. 分布式服务框架原理与实践 第7 章集群容错..............................…........….........,..........……………………… ......109 7.1 集群容锚场景.... .. ...…………........... .............................................................110 7. l.l 通信链路故障..........………………………………….............… ........ ..110 7. 1.2 服务端超时. . .............……...............…… ............... ... ............. .. ......111 7. 1.3 服务端调用失败.................…..…….. …………………….. ........ .. 111 7.2 容锚策略....................……………… ......................................................... 112 7.2.1 失败自动切换(Failover) .. ... .......... ..... .. . ... ... ...…………….. ......112 7.2.2 失败通知( Failback) ...... .... ... ............ ........ .........…………….... .. ....113 7.2.3 失败缓存( Failcacbe) ....... ......……….................…………… ..........113 7.2 .4 快速失败(Failfast) .. .................. ............................................... .. .114 7.2.5 容错策略扩展............................................... . .................... . .............114 7.3 总结........ . .......................... . .................... ..................... .............................. .115 第8 章服务调用.....................................……………………………………·…… .............116 8.1 几个误区................…… ...............................................................................117 8. 1.1 NJO 就是异步服务.............................................…………… ..........117 8. l.2 服务调用天生就是同步的... . . . ...... .. .……............. . .......... . .… .... .. ......118 8. 1.3 异步服务调用性能更高…………………………..............… ........120 8.2 服务调用方式.............................................................................................120 8.2.1 同步服务调用............ . ......................………………… .......................120 8.2.2 异步服务调用-…… ... ....................................... .. ...................... .. .. ...121 8.2.3 并行服务调用..................................................................................125 8.2 .4 泛化调用............ . . . ... .. ... …………....... .........…….... ...... .... ..........129 8.3 最佳实践.. ..…… …… ....... .. ...........................................................................130 8.4 总结..... .. .............. . ......…,..............……,.....……-………… .......................131 第9 章服务注册中心..........................................…….......,....,........….......… ...........132 • XIV. 9.1 几个概念......…………………………………… ...................................133 9. 1.1 服务提供者... . ... ... ....... . ....... .. .............................. . ..….......…… .........133 9.1.2 服务消费者............... . . . ...... . ....... ……………….......... ...... .............133 9. 1.3 服务注册中心...................………………·…………………......…..…… 133 目录 9.2 关键功能特性设计..............…...........................................… ..................134 9.2.1 支持对等集群.......................…........…………………… ...................135 9.2.2 提供CRUD 接口.......................................…............………… ....136 9.2.3 安全加固......... . .......……… …-……………........,.....................… .....136 9.2.4 订阅发布机制......... .. ........ ……………………….......……..........137 9.2.5 可靠性…..…-………..… ............. .... .... .................. .. ..................138 9.3 基于ZooKeeper 的服务注册中心设计........……………......…....................… 139 9.3.1 服务订阅发布流程设计.................................................… ...............139 9.3.2 服务健康状态检测... …………………………...............…........141 9.3.3 对等集群防止单点故障................................................... .. ..............142 9.3.4 变更通知机制….......…..................................…….............……… ....144 9.4 总结.................…… .......…………………...................... .... ....... ... .......144 第10 章服务发布和引用............……………·…………………………………………....….... 145 10.1 服务发布设计...........................................................................................146 10. 1.1 服务发布的几种方式...........… …….......………........…......146 10. 1.2 本地实现类封装成代理........…………………..……………… ................148 10. 口服务发布成指定协议........……............…......………….........… .....148 10. 1.4 服务提供者信息注册.................... .. ..… ............................... .... .......149 10.2 服务引用设计....…........…….......……….........…….............… ....................150 10.2.1 本地接口调用转换成远程服务调用..................……… ...................150 10.2.2 服务地址本地缓存........................................................................1 引 10.2.3 远程服务调用….......….......…....... .. ....……………………… .......151 10.3 最佳实践............................................………….......….... . ..…..…… ............152 10.3.1 对等设计原则................................................................................152 10.3.2 启动顺序问题.............................….......................… ......................153 10.3.3 同步还是异步发布服务..................................................... ... .........153 10.3.4 警惕网络风暴…………………………………………………… . .....…… .....154 10.3.5 配置扩展……....,..….............,..........………… .............................154 10.4 总结..................…………...… ................................... . ...... . ............... . ......156 • xv. 分布式服务框架原理与实践 第11 章服务灰度发布...............……………………………………………........…… ..........157 11.1 服务灰度发布流程设计.. . ... ... . . ...................………......... . ........……… . . ... . ..158 11.1.1 灰度环境准备. . .................................……………….........… ......158 11.1.2 灰度规则设置... . .................…… ........................... . ........... .. ............159 11.1.3 灰度规则下发.....…..…………………………………………… ..................1ω 11. 1.4 灰度路由……………………·………-…………..………...……..… ........16 1 11.1.5 失败回滚....……………………………………………...……………..……… 162 11.1.6 灰度发布总结........ . ............................. . .........................................1 臼 11.2 总结.. . ........................................................................................................163 第12 章参数传递........... .. ... ... ….......... .. ....………… ..................... . ............. . ... .. ...1 64 12.1 内部传参.. . ....................................... . . ... .…………………………… .........165 12. 1.1 业务内部参数传递...................................….... . .………·…… . ..........165 12. 1.2 服务框架内部参数传递..........................…..............… .................168 12.2 外部传参…........….......……........……………………… .......... .. ..........169 12.2.1 通信协议支持............................................................................... .1ω 12.2.2 传参接口定义.. . ..... ... .................. . .…….....….......…........… .........170 12.3 最佳实践..................……................…………….......…...…………·… .......171 12.3.1 防止参数互相覆盖.........………………·…….. ... .........…… ................171 12.3.2 参数生命周期管理........…….. ... .…………... ...… ...... . ......……… .......171 12.4 总结…………………. .. ...….... ..……. . . ... . … ...... . .................................... . ......172 第13 章服务多版本..........................…...............…………………………................. 173 • XVI. 13.1 服务多版本管理设计................................................. . . . .................. ... .... . ..174 13. 1.1 服务版本号管理.. . .... .. .......…………………………………… .............174 13. 1.2 服务提供者........................ ..... ............. ... ....... ... .............................175 13. 1.3 服务消费者.…….. ....….......………………………………..….........175 13.1 .4 基于版本号的服务路由........ ... .......................... .......................176 13.1 .5 服务热升级… .... . ........ ... ... . ............... . ........................... . ......... .. ......177 日2 与OSGi 的对比.. .. . . ... ……….........….......………………..............178 13.2.1 棋块化开发.. .............. . ... . ... . ..………......…… .................................179 目录 13.2.2 插件热部署和热升级. . . ...………·…….......… … .... . ..…… ....... . .......... 184 13.2.3 不使用OSGi 的其他理由....... . .……………… ................................ .1 85 13.3 总结…….......…………………......……… .. ... . .…... . ..….......……… .......... 185 第14 章流量控制-…...…………………………………………………………………… …… .....186 14.1 静态流控......... . .................................. .. ....... . ......... . .. .. ................... . ...........1 们 14.1.1 传统静态流控设计方案. ........ . ..............….......…… ......... .. . . ............187 14. 1.2 传统方案的缺点...... .. .................................... . ............................... 1 88 14.1.3 动态配额分配制.. .... .... . .... ... ... .. ........ .... ...... . .......... .... .... . .. .. ........... 188 14. 1.4 动态配额申请制............…… . ......… ……….. ............ .. ...........190 14.2 动态流控............................. .... ............................................. . ....................1 川 14.2.1 动态流控因子................... ... .......................................................... 1 归 14.2.2 分级流控… ……………… … … ……… ……… ……... ... ....… ......... . ....... ... ...192 14.3 并发控制.. .. ...…… ........………......... .................................................193 14.3.1 服务端全局控制……… . ..................................… ............................. 19 3 14.3.2 服务消费者流控..... ... . .. ........... .… ………..... ... .. . ...… ..... . ..............194 14.4 连接控制.. ... ...... . .………………………………………………………·……......… ......195 14.4.1 服务端连接数流控. .................. .. . ... .... . ........ .. ..………·… ... . . .. ... .. . .. . .195 14.4.2 服务消费者连接数流控......... . . .... . .. ..............………… .................... 1 归 14.5 井发和连接控制算法........……………………………………………. . …… ......... . ...1 归 14.6 总结... . ........ .. .......... . .. ...... 1 . ………… . ....... . . .... . ..... . .. .. ............ ... .......... 197 第15 章服务降级. . ... ......... .. ... ..... .. ..... . . ......... .... ................. .. .. . ..... ..... .... . .... ... ....... 198 15.1 屏蔽降级............... . ....... ……....………………………·….......…..................199 15 . 川屏蔽降级的流程.. .. . . ................... . ..... . ....................… ..... . ............... 199 15. 1.2 屏蔽降级的设计实现. ..... ... .. . . ............. .. ...... ... ....... . ...... ...... ... .. .......200 15.2 容锚降级.............…...... . ...... ..……· …………..............… .... ... ..............202 15.2.1 容错降级的工作原理.. .. ....... .. ............... .. ..... . .....…..... . … ................202 15.2.2 运行时容错降级................. .. ............ . ....................... . ..... ... ............204 15.3 业务层降级............. . .………………………........…........….......…………… ...205 15.4 总结. ... .......……............……-………………………·………………… ...............205 • XVII. 分布式服务框架原理与实践 第16 章服务优先级调度.............................. . . .... ........... . .....………………….. .. ...… .. 207 16.1 设置服务优先级........ ..... ..... . . . .... …………..............……............. .............208 16.2 线程调度器方案.........................................…………………… ............209 16.3 Java 优先级队列.........................……….........……………........…… ...........210 16.4 加权优先级队列..... ... ..………………………………… ....... . . . .......... ... .. . ..211 16.5 服务迁入迁出........……………………………………………………… ..................212 16.6 总结... . ..................….............…........... . ......................................... ...........213 第17 章服务治理.................................................................................................214 17.1 服务治理技术的历史变迁.......... . .................….......……………… ................215 17.1.1 SOAGovemance............................................................................215 17. 1.2 分布式服务框架服务泊理…………......…… ·………….............217 17. 1.3 AWS 云端微服务治理...................................................................217 17.2 应用服务化后面临的挑战-………..… ......... . ............ .... ..........................218 17.2.1 跨团队协作问题..........………..……………… . ...................................2 叩 门2.2 服务的上下线管控.... . .... . ... . . . ... ...... .........………. ... .. .. ... . .… ............220 17.2.3 服务安全............................……………………………·…… .................220 17.2.4 服务SLA 保障……….......…............….......…………........ . .… .... ... .221 17.2.5 故障快速定界定位....................…………………… .............221 17.3 服务治理......................... ……………………………………...........................222 17.3.1 服务治理架构设计.. .. .....… ........ . ............................................. . . . ...223 17.3.2 运行态服务治理功能设计........ .....… ..................... ....... ....... ..........225 17.3.3 线下服务治理……......………...............…… ...............................232 17.3.4 安全和权限管理....................... . ...........…·…… ..........................234 17.4 总结…….......…………….................…......……….. ... ...…… .................237 第18 章分布式消息跟踪..................……………………............………·….......…·….... 239 • XVIII • 18.1 业务场景分析.............……………………………………….......…..…… ........240 18. 1.1 故障的快速定界定位.. .......... . ........................................................240 18. 1.2 调用路径分析...........…….. .... ….. .. ...……........ . . . ... . ………………… 241 18. 1.3 调用来源和去向分丰斤...............… ............................................... . ...242 目录 18.2 分布式消息跟踪系统设计......... . .... . ....... . ..........………………… ...............242 18.2.1 系统架构……………………………………………………… ........... . .........243 18.2.2 埋点日志....................... . ...-........……………… .. ..... .. .. .... ......… .........244 18.2.3 来样率..................................... .. .... 目 .... .............................. ....... .....2盯47 l山8.2 .4 采集和存储埋点日志.……….…….…..… ….….-… . .… …….…….…. .… ….…….…. .… ….…….….….......…......……….....................248 18.2.5 计算和展示............................................................….......… ...........249 18.2.6 调用链扩展............................…......…… ......................................251 18.3 总结................ . ..................................................... . ........... . .......................2 日 第19 章可靠性设计..............................................................................................253 19.1 服务状态检测..........................………………………….... . ........ .. .... .… . ..........254 19. 1. 1 基于服务注册中心状态检测...................... .. .................................254 19. 1.2 链路有效性状态检测机制.. ..... .. ... .. ... ........ ... .. . ........................... . ..2 55 19.2 服务健康度检测......... . ......... .. .........…………… .. ......………… ..............256 19.3 服务故障隔离....... . . .... ........ .. ................... . . . ...................... . ....... .. ..............257 19.3.1 进程级故障隔离.... . ............ ... ... . ..... .. ..... ………........…..............257 19.3.2 VM 级故障隔离....................……....................…………........…… .259 19.3.3 物理机故障隔离.... . ...... . ........................ . .. . . . .... .... ...... . ....... . ...........260 19.3.4 机房故障隔离....……….....................…………………… .... .. .... . 261 19.4 其他可靠性特性.... ……………………….......…... ......……………......262 19.4.1 服务注册中心................................………………… ....... . ..................262 19.4.2 监控中心.…………............. . ..... .. . . .... . ..…. ... ...…..………… ............262 19.4.3 服务提供者…………........… ................ . . .... ..... ... ........... .. ... . . . . .... .. .. ...262 19.5 总结........... . .........….............………………….......… ....... ... ..................263 第20 章微服务架构.......................…..........…………………......……........… ............264 20.1 微服务架构产生的历史背景.. . ...................…..............… .........................265 20. 1.1 研发成本挑战.......…………………………………..……… ......... ..265 20. 1.2 运维成本高........…….. ... ...…… -… .. ................ .... ........................267 20. 1.3 新需求上线周期长... ......………………………… .... ...... ...... .. . . ...268 20.2 微服务架构带来的改变. .. ...... . .. ………….... ..... .......... .. .......................... .268 20.2.1 应用解辑........... . ..........………………………..... . .……… ............... .... .268 • XIX. 分布式服务框架原理与实践 20.2.2 分而泊之................................................….........… .......................270 20.2.3 敏捷交付...........….......….........………......…......................… ........271 20.3 微服务架构解析.............… ........................................................................271 20.3.1 微服务划分原则............................................................................272 20.3.2 开发微服务...............................………………..........…......……… ....272 20.3.3 基于Docker 容器部署微服务........…….....................….......… ........274 20.3 .4 治理和运维微服务.........………………………..............… ...................277 20.3.5 特点总结.............………..….......…......................…......… ..........278 20.4 总结 ..........................................................................................................2河79 第21 章服务化最佳实践.......................................................................................280 2 1. 1 性能和时延问题........................................................................................281 2 1.1.1 RPC 框架高性能设计..................................................…… ...........281 21.1.2 业务最佳实践.............………-……………………..…… ..................285 2 1.2 事务一致性问题........................................................................................286 2 1.2.1 分布式事务设计方案.................…......…........…........… ............287 2 1.2.2 分布式事务优化 ............................................................................2臼88 • xx. 2引1. 3 研发团队协作问题.…….川…...…….川….川........….............…........……........………… ..............289 2 1.3.1 共用服务注册中心.............................................…………… ...........290 21.3.2 直连提供者................ ... ..............……………… ........ ... ...............290 21.3.3 多团队进度协同..... ....…. ........….. .... ...………… .. ............ .................291 21.3.4 服务降级和Mock 测试..……·………….................…… ................291 2 1.3.5 协同调试问题...............…….....……… ........................................292 21.3.6 接口前向兼容性............................................................................292 21.4 总结........….......................................... …………………….........….............292

立即下载
分布式服务框架原理实践》高清完整版

《分布式服务框架原理与实践》,学习分布式必备。该资源仅供大家了解书的内容,如果真有兴趣深入学习,建议购买正版书籍。

立即下载
分布式服务框架原理实践.李林锋(详细书签)

分布式服务框架原理与实践.李林锋(详细书签) 分布式服务框架原理与实践.李林锋(详细书签) 分布式服务框架原理与实践.李林锋(详细书签) 分布式服务框架原理与实践.李林锋(详细书签)

立即下载
分布式服务框架原理实践_李林锋著.pdf

分布式服务框架原理与实践_李林锋著.pdf 分布式服务框架原理与实践_李林锋著.pdf

立即下载
分布式服务框架原理实践-李林锋著.pdf

1、微服务是当前非常热的技术关键词之一,那么微服务如何落地呢?首先要实现服务化,微服务架构是一种服务化架构风格。《分布式服务框架原理与实践》对如何构建分布式服务化系统,提供了原理分析、关键技术、开发案例以及业界技术对比,非常系统化,不论是学习分布式服务技术还是深入大型互联网架构都非常实用。   2、《分布式服务框架原理与实践》作者李林锋多年来在华为一直从事核心代码的架构设计和开发,属于实战型架构师,这本书集合了他多年的架构思路,书中内容组织清晰,图例详实,非常便于理解与吸收。   3、《分布式服务框架原理与实践》首先分析了作为一个分布式服务框架所需具备的能力,包括服务注册中心、服务调用、服务路由、服务发布/灰度发布等;接着分析了服务底层如何有效地进行通信,包括通信框架、序列化/反序列化及协议栈等;然后分析了服务如何做到高可靠性及高安全性等重要特性;最后也阐述了从服务化如何向微服务演进。干货满满!

立即下载
大规模分布式存储系统:原理解析与架构实战,分布式服务框架原理实践_李林锋著

大规模分布式存储系统:原理解析与架构实战 分布式服务框架原理与实践_李林锋著

立即下载
分布式服务框架原理实践

分布式服务框架:原理与实践,不错的书籍,值得一看。

立即下载
分布式服务框架原理实践_李林锋著等2个文件

分布式服务框架原理与实践_李林锋著等2个文件分布式服务框架原理与实践_李林锋著等2个文件

立即下载
分布式服务框架原理实践_李林锋著 清晰 带目录

分布式服务框架原理与实践_李林锋著 清晰 带目录

立即下载
分布式服务框架原理实践_李林锋著

分布式服务框架原理与实践_李林锋著,技术架构师参考资料

立即下载
分布式服务框架原理实践.pdf

分布式服务框架原理与实践.pdf 李林锋 / 著 完整版

立即下载
分布式服务框架原理实践电子书

分布式是当今互联网技术必备技术,此书籍能够然您更加了解其内部实现的原理

立即下载
分布式服务框架原理实践 PDF

分布式服务框架原理与事件,作者:李林峰,PDF

立即下载
分布式服务架构:原理、设计与实战(高清完整版)

第1章 分布式微服务架构设计原理 1 1.1 从传统单体架构到服务化架构 2 1.1.1 JEE架构 2 1.1.2 SSH架构 5 1.1.3 服务化架构 8 1.2 从服务化到微服务 11 1.2.1 微服务架构的产生 12 1.2.2 微服务架构与传统单体架构的对比 13 1.2.3 微服务架构与SOA服务化的对比 15 1.3 微服务架构的核心要点和实现原理 16 1.3.1 微服务架构中职能团队的划分 16 1.3.2 微服务的去中心化治理 18 1.3.3 微服务的交互模式 18 1.3.4 微服务的分解和组合模式 22 1.3.5 微服务的容错模式 35 1.3.6 微服务的粒度 41 1.4 Java平台微服务架构的项目组织形式 42 1.4.1 微服务项目的依赖关系 42 1.4.2 微服务项目的层级结构 43 1.4.3 微服务项目的持续发布 45 1.5 服务化管理和治理框架的技术选型 45 1.5.1 RPC 46 1.5.2 服务化 47 1.5.3 微服务 49 1.6 本章小结 52 第2章 彻底解决分布式系统一致性的问题 54 2.1 什么是一致性 55 2.2 一致性问题 56 2.3 解决一致性问题的模式和思路 57 2.3.1 酸碱平衡理论 58 2.3.2 分布式一致性协议 61 2.3.3 保证最终一致性的模式 67 2.4 超时处理模式 75 2.4.1 微服务的交互模式 76 2.4.2 同步与异步的抉择 77 2.4.3 交互模式下超时问题的解决方案 78 2.4.4 超时补偿的原则 85 2.5 迁移开关的设计 87 2.6 本章小结 88 第3章 服务化系统容量评估和性能保障 89 3.1 架构设计与非功能质量 90 3.2 全面的非功能质量需求 91 3.2.1 非功能质量需求的概述 91 3.2.2 非功能质量需求的具体指标 92 3.3 典型的技术评审提纲 97 3.3.1 现状 97 3.3.2 需求 98 3.3.3 方案描述 98 3.3.4 方案对比 99 3.3.5 风险评估 100 3.3.6 工作量评估 100 3.4 性能和容量评估经典案例 100 3.4.1 背景 100 3.4.2 目标数据量级 101 3.4.3 量级评估标准 101 3.4.4 方案 102 3.4.5 小结 107 3.5 性能评估参考标准 108 3.5.1 常用的应用层性能指标参考标准 108 3.5.2 常用的系统层性能指标参考标准 109 3.6 性能测试方案的设计和最佳实践 112 3.6.1 明确压测目标 112 3.6.2 压测场景设计和压测方案制定 114 3.6.3 准备压测环境 121 3.6.4 压测的执行 122 3.6.5 问题修复和系统优化 123 3.7 有用的压测工具 123 3.7.1 ab 123 3.7.2 jmeter 125 3.7.3 mysqlslap 125 3.7.4 sysbench 129 3.7.5 dd 134 3.7.6 LoadRunner 135 3.7.7 hprof 136 3.8 本章小结 138 第4章 大数据日志系统的构建 140 4.1 开源日志框架的原理分析与应用实践 142 4.1.1 JDK Logger 142 4.1.2 Apache Commons Logging 143 4.1.3 Apache Log4j 147 4.1.4 Slf4j 156 4.1.5 Logback 160 4.1.6 Apache Log4j 2 164 4.2 日志系统的优化和最佳实践 168 4.2.1 开发人员的日志意识 168 4.2.2 日志级别的设置 168 4.2.3 日志的数量和大小 169 4.2.4 切割方式 170 4.2.5 日志格式的配置 170 4.2.6 一行日志导致的线上事故 177 4.3 大数据日志系统的原理与设计 178 4.3.1 通用架构和设计 179 4.3.2 日志采集器 180 4.3.3 日志缓冲队列 186 4.3.4 日志解析器 187 4.3.5 日志存储和搜索 187 4.3.6 日志展示系统 188 4.3.7 监控和报警 188 4.3.8 日志系统的容量和性能评估 188 4.4 ELK系统的构建与使用 190 4.4.1 Elasticsearch 191 4.4.2 Logstash 193 4.4.3 Kibana 196 4.5 本章小结 198 第5章 基于调用链的服务治理系统的设计与实现 199 5.1 APM系统简介 200 5.1.1 优秀的开源APM系统 200 5.1.2 国内商业APM产品的介绍 202 5.2 调用链跟踪的原理 203 5.2.1 分布式系统的远程调用过程 204 5.2.2 TraceID 207 5.2.3 SpanID 208 5.2.4 业务链 210 5.3 调用链跟踪系统的设计与实现 211 5.3.1 整体架构 211 5.3.2 TraceID和SpanID在服务间的传递 213 5.3.3 采集器的设计与实现 217 5.3.4 处理器的设计与实现 222 5.3.5 调用链系统的展示 225 5.4 本章小结 226 第6章 Java服务的线上应急和技术攻关 227 6.1 海恩法则和墨菲定律 227 6.2 线上应急的目标、原则和方法 229 6.2.1 应急目标 229 6.2.2 应急原则 229 6.2.3 线上应急的方法和流程 230 6.3 技术攻关的方法论 233 6.4 环境搭建和示例服务启动 236 6.5 高效的服务化治理脚本 240 6.5.1 show-busiest-java-threads 240 6.5.2 find-in-jar 243 6.5.3 grep-in-jar 244 6.5.4 jar-conflict-detect 245 6.5.5 http-spy 247 6.5.6 show-mysql-qps 248 6.5.7 小结 249 6.6 JVM提供的监控命令 249 6.6.1 jad 249 6.6.2 btrace 250 6.6.3 jmap 252 6.6.4 jstat 255 6.6.5 jstack 256 6.6.6 jinfo 258 6.6.7 其他命令 258 6.6.8 小结 259 6.7 重要的Linux基础命令 260 6.7.1 必不可少的基础命令和工具 260 6.7.2 查看活动进程的命令 268 6.7.3 窥探内存的命令 270 6.7.4 针对CPU使用情况的监控命令 272 6.7.5 监控磁盘I/O的命令 273 6.7.6 查看网络信息和网络监控命令 275 6.7.7 Linux系统的高级工具 287 6.7.8 /proc文件系统 288 6.7.9 摘要命令 288 6.7.10 小结 290 6.8 现实中的应急和攻关案例 291 6.8.1 一次OOM事故的分析和定位 291 6.8.2 一次CPU 100%的线上事故排查 301 6.9 本章小结 304 第7章 服务的容器化过程 306 7.1 容器vs虚拟机 306 7.1.1 什么是虚拟机 306 7.1.2 什么是容器 306 7.1.3 容器和虚拟机的区别 307 7.1.4 容器主要解决的问题 307 7.1.5 Docker的优势 310 7.2 Docker实战 311 7.2.1 Docker的架构 311 7.2.2 Docker的安装 315 7.2.3 Docker初体验 319 7.2.4 Docker后台服务的管理 322 7.2.5 Docker的客户端命令 328 7.2.6 Docker Compose编排工具的使用 372 7.3 容器化项目 379 7.3.1 传统的应用部署 380 7.3.2 将应用程序部署在虚拟机上 380 7.3.3 容器化部署应用 381 7.3.4 Docker实现的应用容器化示例 382 7.4 本章小结 384 第8章 敏捷开发2.0的自动化工具 385 8.1 什么是敏捷开发2.0 385 8.1.1 常用的4种开发模式 385 8.1.2 什么是DevOps 390 8.1.3 敏捷开发2.0解决的问题 392 8.2 敏捷开发的自动化流程 393 8.2.1 持续集成 393 8.2.2 持续交付和持续部署 397 8.3 敏捷开发的常用自动化工具 400 8.3.1 分布式版本控制工具Git 400 8.3.2 持续集成和持续交付工具Jenkins 410 8.3.3 基础平台管理工具SaltStack 418 8.3.4 Docker容器化工具 421 8.4 本章小结 422

立即下载
分布式服务框架 分布式系统概念与设计 原书第5版 分布式服务框架原理实践_李林锋著

分布式服务框架原理与实践_李林锋著 分布式系统概念与设计 原书第5版

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

分布式服务框架原理与实践

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: