书籍详情
《 架构探险:从零开始写分布式服务框架 程序开发书籍 RPC框架 李业兵 》[50M]百度网盘|亲测有效|pdf下载
  • 架构探险:从零开始写分布式服务框架 程序开发书籍 RPC框架 李业兵

  • 热度:9300
  • 上架时间:2024-06-30 08:52:20
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容提要

        《架构探险:从零开始写分布式服务框架》的初衷是希望把分布式服务框架的实现细节及分布式服务框架周边的知识点梳理清楚,为那些对分布式服务框架感兴趣的人打开一扇窗户,降低获取相关知识的门槛。所以《架构探险:从零开始写分布式服务框架》围绕实现分布式服务框架所需的知识点,进行了比较详尽细致的介绍。包括常见的RPC框架、常见的序列化/反序列化方案及选型、分布式服务框架服务的发布引入实现细节、软负载实现、底层通信方案实现、服务注册与发现实现、服务治理常见的功能等。通过对这些知识点的逐步讲解,层层深入,*终完成一个可运行的分布式服务框架。

        通过《架构探险:从零开始写分布式服务框架》,读者可以完整地了解实现一个分布式服务框架的所有技术细节和实现原理,希望对想了解分布式服务框架实现细节的读者有所启发和帮助。

 

 

目    录

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 ThriftJava版完整案例    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 构建请求对象(HttpGetHttpPost    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配置及使用IDLSchema自动生成代码   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实现RMISpring的集成128

4.3.3 基于HttpInvokerProxyFactoryBean实现HTTP InvokerSpring的集成        131

4.3.4 基于HessianProxyFactoryBean实现HessianSpring的集成       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/OBlocking I/O)介绍        194

6.1.4  Java Non-blocking I/ONIO)介绍   211

6.1.5  NIO2Asynchronous 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

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