内容简介
本书以高可用服务架构为主题,侧重于讲解高可用架构设计的核心要点:可伸缩和可扩展,从应用层、数据库、缓存、消息队列、大数据查询系统、分布式定时任务调度系统、微服务等层面详细讲解如何设计可伸缩、可扩展的框架,并给出在各个领域解决特定问题的方法论和实践总结。随着本书的出版,我们还开源了4个行之有效的互联网可伸缩框架,包括数据库分库分表dbsplit、缓存分片redic、专业的发号器vesta和消息队列处理机框架kclient,每个框架都开箱即用,也可以作为学习互联网平台化框架搭建的素材,更可以作为开发开源项目的示例。本书的上册《分布式服务架构:原理、设计与实战》详细介绍了如何解决线上高并发服务的一致性、高性能、高可用、敏捷等痛点,本书与上册结合后可覆盖保证线上高并发服务的各个主题:一致性、高性能、高可用、可伸缩、可扩展、敏捷性等,每个主题都是一个方法论。充分理解这些主题,可保障线上服务健壮运行,对实现服务稳定性的n个9有着不可估量的作用。
AI简介
这是一本深度探讨高可用服务架构设计的实战书籍。本书以可伸缩和可扩展为核心,从应用层、数据库、缓存、消息队列、大数据查询系统、分布式定时任务调度系统、微服务等层面详细讲解如何设计可伸缩、可扩展的框架,并给出在各个领域解决特定问题的方法论和实践总结。
本书深入剖析了Vesta分布式发号器设计思想,阐述了Vesta发号器的设计原理,包括数据存储、ID生成、ID分配和ID回收四个部分。Vesta发号器支持多种发布模式,包括单机模式、集群模式和主备模式,每种模式都有其适用的场景和优势。
在灵活扩展的消息队列框架设计与实现部分,本书详细介绍了Kafka消息队列的功能特性,并基于Kafka消息队列设计了一个简单易用的框架kclient。kclient项目提供了高效集成、高性能、高稳定等特点,使用起来非常方便。
本书还深入探讨了轻量级数据库分库分表架构与框架,包括代理分片和客户端分片两种方式,并介绍了Sharding JDBC和dbsplit两个轻量级框架的使用方法。这些框架可以帮助企业解决海量数据存储的问题,提高系统的性能和可扩展性。
此外,本书还详细讲解了缓存设计的优秀实践,包括容量规划、