《架构探险:从零开始写分布式服务框架》内容简介|作者

内容简介

分布式服务框架目前已经是互联网公司实现SOA服务化架构的必备基础设施,对于一般的开发而言,自己要独立实现一个分布式服务框架,还是有相当的难度的。本书围绕如何从零开始实现一个可用的分布式服务框架,介绍了实现分布式服务框架所需技术的方方面面。对于从事开发行业的程序员有很大的现实价值。能够从中学习到很多的实用技术,了解并掌握实现分布式服务框架所需的思想以及技术。

作者简介:

李业兵

先后在支付宝运营支撑事业部、去哪儿网酒店事业部任职高级开发工程师。于2015年加入猫眼电影(原美团网旗下电影事业部),负责交易业务线架构与开发工作。

擅长电商交易领域系统设计与架构,在电商交易领域系统架构设计方面积累了较为丰富的实践经验。

对高并发系统设计、服务化架构、互联网中间件开发保持着浓厚的兴趣。

目 录:

第1章 常用的RPC框架 1

1.1 RPC框架原理 1

1.2 RMI介绍 2

1.2.1 原生RMI代码示例 3

1.2.2 RMI穿透防火墙 5

1.3 CXF/Axis2介绍 7

1.3.1 CXF介绍 7

1.3.2 Axis2介绍 14

1.4 Thrift介绍 21

1.4.1 Thrift工作原理介绍 23

1.4.2 Thrift IDL语法说明 26

1.4.3 基于Apache Thrift的Java版完整案例 28

1.4.4 基于Java注解的简化实现 36

1.5 gRPC介绍 42

1.5.1 protobuf3语法介绍 43

1.5.2 gRPC使用示例 45

1.6 HTTP Client介绍 53

1.6.1 构建HttpClient对象 54

1.6.2 构建URI对象 55

1.6.3 构建请求对象(HttpGet、HttpPost) 56

1.6.4 HttpClient发起调用及获取调用返回结果 56

1.7 实现自己的RPC框架 61

1.8 RPC框架与分布式服务框架的区别 68

1.9 本章小结 68

第2章 分布式服务框架总体架构与功能 69

2.1 面向服务的体系架构(SOA) 69

2.1.1 面向服务架构范式 69

2.1.2 服务拆分原则 71

2.2 分布式服务框架现实需求 72

2.3 分布式服务框架总体架构及所需的技术概述 72

2.4 本章小结 74

第3章 分布式服务框架序列化与反序列化实现 75

3.1 序列化原理及常用的序列化介绍 75

3.2 Java默认的序列化 77

3.3 XML序列化框架介绍 80

3.4 JSON序列化框架介绍 82

3.5 Hessian序列化框架介绍 87

3.6 protobuf序列化框架介绍 88

3.7 protostuff序列化框架介绍 93

3.8 Thrift序列化框架介绍 98

3.9 Avro序列化框架介绍 100

3.9.1 Avro介绍 100

3.9.2 Avro IDL语言介绍 101

3.9.3 Schema定义介绍 103

3.9.4 Maven配置及使用IDL与Schema自动生成代码 103

3.9.5 Avro序列化/反序列化实现 105

3.10 JBoss Marshalling序列化框架介绍 110

3.11 序列化框架的选型 112

3.12 实现自己的序列化工具引擎 113

3.13 本章小结 118

第4章 实现分布式服务框架服务的发布与引入 119

4.1 Spring Framework框架概述 119

4.1.1 Spring Framework介绍 119

4.1.2 Spring Framework周边生态项目介绍 121

4.2 FactoryBean的秘密 122

4.2.1 FactoryBean的作用及使用场景 123

4.2.2 FactoryBean实现原理及示例说明 124

4.3 Spring框架对于已有RPC框架集成的支持 127

4.3.1 Spring支持集成RPC框架介绍 127

4.3.2 基于RmiProxyFactoryBean 实现RMI与Spring的集成 128

4.3.3 基于HttpInvokerProxyFactoryBean实现HTTP Invoker与Spring的集成 131

4.3.4 基于HessianProxyFactoryBean实现Hessian与Spring的集成 133

4.4 实现自定义服务框架与Spring的集成 136

4.4.1 实现远程服务的发布 136

4.4.2 实现远程服务的引入 144

4.5 在Spring中定制自己的XML标签 150

4.6 本章小结 158

第5章 分布式服务框架注册中心 159

5.1 服务注册中心介绍 159

5.2 ZooKeeper实现服务的注册中心原理 161

5.2.1 ZooKeeper介绍 161

5.2.2 部署ZooKeeper 161

5.2.3 ZkClient使用介绍 164

5.2.4 ZooKeeper实现服务注册中心 173

5.3 集成ZooKeeper实现自己的服务注册与发现 175

5.3.1 服务注册中心服务提供方 175

5.3.2 服务注册中心服务消费方 176

5.3.3 服务注册中心实现 178

5.4 本章小结 189

第6章 分布式服务框架底层通信实现 190

6.1 Java I/O模型及I/O类库的进化 190

6.1.1 Linux下实现的I/O模型 190

6.1.2 Java语言实现的I/O模型 194

6.1.3 Java Classic I/O(Blocking I/O)介绍 194

6.1.4 Java Non-blocking I/O(NIO)介绍 211

6.1.5 NIO2及Asynchronous I/O介绍 233

6.2 Netty使用介绍 255

6.2.1 Netty开发入门 256

6.2.2 Netty粘包/半包问题解决 265

6.3 使用Netty构建服务框架底层通信 320

6.3.1 构建分布式服务框架Netty服务端 320

6.3.2 构建分布式服务框架服务调用端Netty客户端 330

6.4 本章小结 347

第7章 分布式服务框架软负载实现 348

7.1 软负载的实现原理 348

7.2 负载均衡常用算法 349

7.2.1 软负载随机算法实现 349

7.2.2 软负载加权随机算法实现 350

7.2.3 软负载轮询算法实现 351

7.2.4 软负载加权轮询算法实现 352

7.2.5 软负载源地址hash算法实现 354

7.3 实现自己的软负载机制 355

7.4 软负载在分布式服务框架中的应用 357

7.5 本章小结 361

第8章 分布式服务框架服务治理 362

8.1 服务治理介绍 362

8.2 服务治理的简单实现 364

8.2.1 服务分组路由实现 364

8.2.2 简单服务依赖关系分析实现 374

8.2.3 服务调用链路跟踪实现原理 380

8.3 本章小结 380

附录A 如何配置运行本书完成的分布式服务框架 381

《架构探险:从零开始写分布式服务框架》李业兵【文字版_PDF电子书_下载】

为您推荐

《谢米尔的小潜水艇》内容简介|作者

内容简介 好的幻想小说都是成长小说,它长久不衰的魅力,在于它能帮孩子处理成长过程中必须面对的内心冲突。它是一面镜子,能照出孩子的自我;是孩子们演练内心冲突的一个舞台;是一次孩子们的自我发现之旅。 日本大幻想文学..

《高考英语高分作文字帖》内容简介|作者

内容简介书籍特色 这是一套对英文字母、单词、短语、句子、文章书法练习的字帖,根据习字者的书法水平和英语程度,由浅入深,由易到难,通过循序渐进的练习,帮助习字者快速提高书..

《魏晋唐小楷-中国历代名碑名帖精选》内容简介|作者

内容简介书籍特色 为传承和发扬传统文化,江西美术出版社北京分社推出《中国历代名碑名帖精选》系列图书,让我们从这里抵达华夏文明的深处。  书法艺术是中华文化瑰宝,古人..

《王福庵印谱-全3册》内容简介|作者

《硬笔楷书入门字帖》内容简介|作者

内容简介书籍特色 广大学生和书法爱好者书写汉字,力求规范、端正、整洁,能用钢笔熟练地书写正楷字,逐步提高书写速度,规范书写习惯。随着国家对传统文化越来越重视,写一手好的..

《李文采临王羲之圣教序碑》内容简介|作者

内容简介本书由僧人怀仁集王羲之书而成。怀仁从唐内府所藏王羲之书迹及民间王字遗墨中集《圣教序》, 历时二十四年。前人评价此碑: “天衣无缝, 胜于自运”, “逸少真迹, 咸萃其中”。由于王羲之真迹不存, 此碑是后人..

《李文采临李邕李思训碑》内容简介|作者

内容简介本书精选历代著名碑帖 (自殷商至近代) 影印出版, 纵贯中国书法史, 更加精当合理, 底本注重艺术性与版本价值相结合, 是广大读者学习书法艺术的首选法帖。碑高一丈一尺三寸六分, 宽四尺八寸五分。字共三十行,..