大小:27.81M
更新时间:23-09-02
系统:Pc
分布式服务框架原理与实践是一本服务框架平台设计教材,由华为PaaS平台架构师李林锋编著。全书条理清晰、由浅入深的解析了分布式服务架构所涉及方方面面的关键技术和原理,包括原理分析、关键技术、开发案例以及业界技术,既有纵向演进介绍,又有横向竞品对比。尤其针对各种场景所提出的设计原则或实践,这些统统都来自于作者的实战总结,有些甚至可以直接用于实战,不论是学习分布式服务技术还是深入大型互联网架构都非常实用。
《分布式服务框架原理与实践》首先分析了作为一个分布式服务框架所需具备的能力,包括服务注册中心、服务调用、服务路由、服务发布/灰度发布等;接着分析了服务底层如何有效地进行通信,包括通信框架、序列化/反序列化及协议栈等;然后分析了服务如何做到高可靠性及高安全性等重要特性;最后也阐述了从服务化如何向微服务演进。干货满满。
本收作者李林锋具有非常丰富的分布式服务框架、平台中间件的架构设计和实践经验,主导设计的华为分布式服务框架已经在全球数十个国家成功商用。《分布式服务框架原理与实践》中依托工作实践,从分布式服务框架的架构设计原理到实践经验总结,涵盖了服务化架构演进、订阅发布、路由策略、集群容错和服务治理等多个专题,全方位剖析服务框架的设计原则和原理,结合大量实践案例与读者分享作者对分布式服务框架设计和运维的体会。同时,对基于Docker部署微服务以及基于微服务架构开发、部署和运维业务系统进行了详细介绍。
李林锋,现任华为PaaS平台架构师,8年JavaNIO通信框架、平台中间件架构设计和开发经验,主导设计和开发的华为分布式服务框架已经在全球数十个国家成功商用。精通Netty、Mina、RPC框架、企业ESB总线、分布式服务框架等技术,Netty专业书作者,公司总裁技术创新奖获得者。
第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
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
同类热门
热门标签
网友评论0人参与,0条评论
最新排行
11g101-1图集电子版4.91M官方pdf高清版 11g101-1图集,又简称为混凝土结构施工图11g101-1,官方全称为混凝土结构施工图平面整体表示方法制图规则和构造详图(现浇混凝土框架、剪力墙、梁、板),由中华人民共和国住房和城乡建设部批准,中国建筑标准设计研究院编制,可以替代03g101-
查看几何公差设计问答电子书11.44M官方版 几何公差设计问答由刘巽尔编著,本书主要以问答的形式介绍了几何公差的基本概念、在图样上的框格标注方法、几何公差带的基本原理以及理论正确尺寸、位置度公差、注出几何公差值、一般几何公差等有关标准的基本知识及其应用技术。应用对象是中、初级机械科学与工程技术
查看精通正则表达式第3版52.97M杰佛瑞E.F.佛瑞德pdf扫描版正则表达式是程序员必懂的强大的工具,从较低的层面上来说,正则表达式描述的是一串文本(achunkoftext)的特征。读者可以用它来验证用户输入的数据,或者也可以用它来检索大量的文本。从较高的层面上来说,正则表达式容许用户掌控他们自己的数据——控制这些数
查看actionscript大型网页游戏开发23.91Mactionscript大型网页游戏开发是一本pdf高清扫描版的电子图书,作者:jobe makar,李鑫、马舜翻译。全书阐述了多人网页游戏的许多基本概念,以及如何使用actionscript将其实施到项目中,读完本书,读者将掌握:如何连接用户来实现实时
查看后台开发 核心技术与应用实践118M徐晓鑫pdf扫描版 后台开发 核心技术与应用实践是腾讯资深后台工程师徐晓鑫多年经验结晶,本书完整勾勒后台工程师能力体系结构图,详细讲解后台开发所需核心技术、开发工具和实践方法,用通俗的文字、详尽的示例代码,结合实际工作中的案例,讲述了后台开发方方面面的知识,内容丰富,
查看unity 3d游戏开发27.1M宣雨松pdf扫描版unity 3d游戏开发是一本Unity 3D游戏开发入门书籍,由宣雨松编著。本书从初学者入门角度讲解了Unity游戏开发,让读者快速学会了如何使用Unity制作3D游戏,如何以两种语言去讲解游戏脚本的编写,在入门阶段我们使用JavaScript语言介绍
查看数据库系统概念(原书第6版)31.7M扫描版数据库系统概念第六版是经典的数据库系统教科书《Database System Concepts》的新修订版,由Abraham Silberschatz、Henry F.Korth、S.Sudarshan三人共同编写。全书全面介绍了数据库系统的各种知识,透
查看linux从入门到精通第2版104.07M刘忆智pdf扫描版 linux从入门到精通第2版是一本备受推崇的linux精品畅销书,由刘忆智等人共同编著,全书拥有内容丰富、讲解细腻、通俗易懂和实用性强等特色,以最新的Ubuntu 12.04为写作背景,详细的介绍了linux的基础应用、系统管理、网络应用、娱乐和办
查看C程序设计伴侣:帮你更好地理解谭浩强老师的那本书以及更多42.95M陈良乔pdf扫描版C程序设计伴侣:帮你更好地理解谭浩强老师的那本书以及更多是谭浩强编著的经典的C程序设计的最佳伴侣,由陈良乔编著。本书针对C语言中的重点和难点,进行了更加生动有趣、更加深刻,但同时又更容易理解的阐述。读者在学习之后,不仅会对C语言中的各种知识有更加生动形象
查看写给大家看的c语言书(第2版)41.09M佩里pdf扫描版写给大家看的c语言书(第2版)是一部别开生面、与众不同的C语言经典入门著作,由美国计算机编程专家佩里编著。本书内容丰富,将C语言的基础知识、必备的实战技能和宝贵编程经验尽数道来。没有云山雾罩,没有前因后果的行话,没有艰深而且不必要的内部技术细节,没有沉闷
查看交互设计沉思录(原书第2版)54.38Mpdf高清扫描版交互设计沉思录pdf顶尖设计专家Jon Kolko的经验与心得(原书第2版)是一本交互设计领域的扛鼎之作,由交互设计领域的思想领袖JonKolko所著,完美地将当代设计理论和研究成果融入交互设计实践中,将对交互设计的阐述和分析推向了新的高度,为整个领域带
查看