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

    本文地址:http://tongxinmao.com/Article/Detail/id/18

    第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