新書推薦:
![精神的奥德赛:罗洛·梅传](http://103.6.6.66/upload/mall/productImages/24/28/9787308248365.jpg)
《
精神的奥德赛:罗洛·梅传
》
售價:HK$
98.9
![闲坐说金庸:揭秘比小说更精彩的金庸人生传奇](http://103.6.6.69/upload/mall/productImages/y24/8/9787554585689.jpg)
《
闲坐说金庸:揭秘比小说更精彩的金庸人生传奇
》
售價:HK$
74.8
![二战新史:鲜血与废墟中的世界,1931——1945](http://103.6.6.66/upload/mall/productImages/24/27/9787521763737.jpg)
《
二战新史:鲜血与废墟中的世界,1931——1945
》
售價:HK$
216.2
![汉字古今谈](http://103.6.6.66/upload/mall/productImages/24/28/9787101165777.jpg)
《
汉字古今谈
》
售價:HK$
41.4
![天亡之秋](http://103.6.6.66/upload/mall/productImages/24/28/9787203134558.jpg)
《
天亡之秋
》
售價:HK$
89.7
![KO!再见,焦虑症!](http://103.6.6.66/upload/mall/productImages/24/27/9787523106365.jpg)
《
KO!再见,焦虑症!
》
售價:HK$
57.3
![嘉靖帝:丹鼎青烟里的王朝乱象](http://103.6.6.66/upload/mall/productImages/24/26/9787547324448.jpg)
《
嘉靖帝:丹鼎青烟里的王朝乱象
》
售價:HK$
97.8
![甲骨文字趣释](http://103.6.6.66/upload/mall/productImages/24/28/9787229185947.jpg)
《
甲骨文字趣释
》
售價:HK$
66.7
|
內容簡介: |
本书主要讲解互联网架构的设计初衷、原理和模式。全书介绍了互联网架构的演变过程与分层、分割、分片、缓存、并行、异步、隔离、容错、安全、治理等设计模式的应用场景和作用,还介绍了前端应用层、接入层、服务层、服务治理、分布式锁、分布式ID、分布式事务、分布式消息队列、分布式缓存、数据持久化以及DevOps等技术的组成结构、运行原理和应用方案。
本书使用的是Java语言相关的技术生态,适合希望掌握互联网架构的IT开发工程师和架构师阅读。通过本书,读者可以对互联网分布式架构有较全面的了解。
|
關於作者: |
富亚军,HPE资深架构师。从事企业级软件设计和项目管理20多年,组织和设计开发了多个大型金融系统,具有处理高并发、大流量互联网业务的一线经验。
|
目錄:
|
序
前言
第1章 概述1
1.1 互联网业务特点1
1.2 互联网架构思维2
1.3 互联网架构目标与度量2
1.4 互联网架构方法论4
1.4.1 CAP模型4
1.4.2 AKF Scale Cube扩展立方体8
1.5 互联网核心架构的演变9
1.5.1 Monolith单体架构10
1.5.2 Microservice微服务架构11
1.5.3 Microservice与SOA14
1.5.4 Servicemesh服务网格架构16
1.5.5 Cloud Native云原生架构19
第2章 互联网架构设计模式23
2.1 架构设计的切入点23
2.2 互联网架构的典型模式23
2.2.1 分层23
2.2.2 分割25
2.2.3 分片26
2.2.4 缓存27
2.2.5 并行27
2.2.6 异步28
2.2.7 隔离29
2.2.8 容错32
2.2.9 安全33
2.2.10 治理33
第3章 前端架构35
3.1 前端应用35
3.2 前端开发模式35
3.2.1 抽象DOM模式35
3.2.2 MVC模式36
3.2.3 MVP模式36
3.2.4 MVVM模式37
3.2.5 Virtual DOM38
3.2.6 组件化编程39
3.3 响应式网站设计40
3.3.1 服务端响应与客户端响应41
3.3.2 响应式JS41
3.3.3 响应式CSS41
3.3.4 响应式图片41
3.3.5 响应式布局41
3.4 单页面架构43
3.4.1 单页面应用的定义43
3.4.2 SPA的优缺点43
3.4.3 服务端渲染44
3.4.4 初始页面优化44
3.4.5 地址堆栈管理45
3.5 微前端架构45
3.5.1 微前端的定义45
3.5.2 微前端的作用45
3.5.3 技术发展路线45
3.5.4 微前端的特点46
3.5.5 微前端的技术架构46
3.6 移动App开发47
3.6.1 Native App47
3.6.2 Hybrid App47
3.7 公众号、小程序与快应用的开发49
3.7.1 公众号开发49
3.7.2 小程序开发49
3.7.3 快应用开发50
3.7.4 多端开发框架50
3.8 服务于前端的后端架构BFF51
3.8.1 BFF的用途51
3.8.2 前后端同构51
3.8.3 BFF与Gateway52
3.9 前端优化52
3.9.1 前端性能优化52
3.9.2 搜索引擎优化55
3.9.3 网站运营优化55
第4章 接入架构57
4.1 整体接入架构57
4.2 DNS解析与负载均衡57
4.2.1 DNS域名解析57
4.2.2 DNS负载均衡58
4.3 CDN内容分发网络59
4.3.1 CDN的作用59
4.3.2 CDN的组成结构60
4.3.3 内容加速原理60
4.3.4 CDN的功能架构61
4.4 反向代理62
4.4.1 正向代理与反向代理62
4.4.2 负载均衡63
4.4.3 Nginx应用架构70
4.5 服务网关75
4.5.1 服务网关与微服务75
4.5.2 服务网关的功能架构76
4.5.3 服务网关的技术架构80
4.5.4 开源服务网关80
4.6 内部系统集成89
第5章 服务架构91
5.1 服务端架构生态91
5.2 Spring Cloud91
5.2.1 Spring Cloud总体架构91
5.2.2 Spring Cloud核心构成与原理92
5.3 阿里的微服务中间件Dubbo96
5.3.1 Dubbo整体架构96
5.3.2 Dubbo关联的中间件和技术98
5.3.3 Dubbo RPC调用过程104
5.3.4 Dubbo面临的挑战110
5.4 服务网格中间件Istio111
5.4.1 Istio总体架构111
5.4.2 Istio Envoy114
5.4.3 Istio Pilot115
5.4.4 Istio Mixer117
5.4.5 Istio Citadel118
5.4.6 跨集群服务治理119
5.4.7 Istio面临的挑战120
第6章 服务治理121
6.1 配置中心121
6.1.1 配置中心的功能架构121
6.1.2 配置中心的技术架构121
6.1.3 百度的配置中心Disconf123
6.1.4 携程的配置中心Apollo124
6.1.5 Spring Cloud Config126
6.2 流量控制127
6.2.1 限流算法127
6.2.2 Spring Cloud流量控制中间件Hystrix129
6.2.3 阿里的流量控制中间件sentinel135
6.2.4 新一代流量控制中间件Resilience4j141
6.3 服务追踪146
6.3.1 服务调用过程与追踪要素147
6.3.2 服务追踪的系统组成149
6.3.3 服务追踪中间件Zipkin150
第7章 分布式处理152
7.1 分布式锁152
7.1.1 分布式锁的设计目标152
7.1.2 分布式锁的技术架构152
7.2 分布式ID155
7.2.1 分布式ID的设计目标155
7.2.2 分布式ID的技术架构156
7.3 高性能有界队列Disruptor161
7.3.1 Disruptor的设计目标161
7.3.2 Disruptor的主体结构163
第8章 分布式事务165
8.1 分布式事务的技术背景165
8.2 基于分阶段提交的事务165
8.2.1 两阶段提交166
8.2.2 三阶段提交167
8.3 基于补偿的事务168
8.3.1 Saga模式169
8.3.2 努力通知模式173
8.3.3 TCC模式173
8.4 基于可靠消息队列的事务176
8.5 终一致性对账处理177
8.6 阿里的分布式事务中间件Seata179
8.6.1 Seata AT模式的组成架构179
8.6.2 Seata AT模式的运行原理180
8.6.3 Seata AT模式的隔离机制183
8.6.4 Seata AT模式的特点186
8.7 华为的分布式事务中间件Servicecomb-Saga186
8.7.1 组成架构186
8.7.2 运行原理187
第9章 分布式消息队列190
9.1 消息队列的应用场景190
9.2 消息传递技术192
9.2.1 管道和过滤器模式192
9.2.2 消息通道193
9.2.3 消息193
9.2.4 消息路由196
9.2.5 消息转换199
9.2.6 消息端点199
9.2.7 消息管理201
9.3 消息总线202
9.3.1 请求应答模式203
9.3.2 消息总线架构207
9.4 阿里的消息中间件RocketMQ209
9.4.1 整体结
|
內容試閱:
|
当前越来越多的业务使用了公有云。公有云将大型公司应对海量互联网流量的经验和措施封装成产品,降低了复杂度,使IT系统的开发专注于业务层面,但很多人也因此没有了试错的机会,知其然不知其所以然。另一方面,互联网分布式架构更加复杂,组织结构分工更细,很多开发人员或者架构师在工作中只能关注一点或者一个层次。许多技术人员都非常希望能看到更多介绍架构设计出发点、原理和机制,讲述分布式架构宏观场景的书籍。
笔者将这几年遇到的几个互联网业务的解决思路和方案整理成PPT,一直有总结成书的想法,却被琐事所困,无法静下心来进一步归纳整理,如今终于有了机会。笔者希望能够尽可能从较高的角度,在每一个系统分层结构中讲解原理、实现方案和技术路线。
事情看着容易,做着难,下笔成文时,着实痛苦。作为一本想要描述互联网分层架构的书,涉及面广,还有诸如系统安全、大数据、架构实例方面的内容因为时间和精力原因暂未涵盖。本书内容也难免有见识不到、疏漏之处,敬请指正。
内容组织
本书主要讲解互联网架构设计的初衷、原理和架构的模式。前两章简单介绍了互联网架构的目标、架构演变过程与主要设计模式,后续几章则按照系统的分层模式,从前端到后端,从开发到运维,对每一层的主要解决问题、原理、技术路线进行说明。
第1章“概述”,主要介绍互联网架构的业务特点、目标、衡量办法、方法论和核心架构的演变过程。
第2章“互联网架构设计模式”,归纳了互联网架构的分层、分割、分片、缓存、并行、异步、隔离、容错、安全、治理等主要设计模式,并阐述了每种模式的应用场景和作用。
第3章“前端架构”,主要介绍前端的架构模式,包括前端开发模式的演变过程、响应式网站的设计办法、单页面架构、微前端架构、App、公众号、小程序与快应用的开发模式、BFF架构以及前端优化办法。
第4章“接入架构”,主要介绍接入层的组成,包括DNS、CDN、反向代理、服务网关以及企业内部系统集成的架构和实现。
第5章“服务架构”,主要描述微服务架构Spring Cloud和Dubbo以及服务网格架构Istio的组成结构和运行机制。
第6章“服务治理”,介绍常见的服务治理组件,包括配置中心、流量控制、服务追踪等组件的构成和原理,涉及Apollo、Disconf、Spring Cloud Config、Hystrix、sentinel、Resilience4j、Zipkin等中间件。
第7章“分布式处理”,补充介绍分布式处理中的必备组件,包括分布式锁、分布式ID、高性能有界队列Disruptor的设计目标和技术架构。
第8章“分布式事务”,主要描述分阶段提交、补偿等分布式事务模式,介绍了分布式事务的终一致性解决方案以及Seata和Servicecomb-Saga两种开源分布式事务中间件。
第9章“分布式消息队列”,介绍消息队列解决的问题和应用场景,消息传递技术的应用模式,消息总线的用途和架构,同时还介绍了RocketMQ的组成和原理,以及Spring Cloud消息传递领域的三个组成部件Spring Integration、Spring Cloud Stream和Spring Cloud Bus。
第10章“分布式缓存”,介绍缓存的分类、应用架构和应用缓存时常见的问题和解决方案,也介绍了Redis缓存中间件的原理和集群结构。
第11章“数据持久化”,介绍互联网分布式系统的整体数据架构,Raid磁盘阵列和DAS、NAS、SAN、OSS等存储技术,Swift OSS的运行机制,关系数据库的读写分离、冷热分离、分库分表和高可用方案。
第12章“DevOps”,主要介绍DevOps的含义、工具和生态,并讲解了包括环境、协作、开发、发布、测试、运维等DevOps基础环节涉及的工具、技术和集成方法。
致谢
感谢我的家人、朋友和同事们,谢谢你们的支持和建议。本书的出版尤其要感谢机械工业出版社的车忱编辑,车老师在书籍选题、章节编排以及内容校阅等方面给了我非常多的建议和帮助。
|
|