展开全部

主编推荐语

全面系统地探索pringcloud微服务开发过程中应用到的技术和解决方案。

内容简介

本书技术包含了各种组件及框架的用法,包括注册和配置中心naco、负载均衡器loadbalancer、远程调用组件openfeign、远程调用框架dubbo、流量控制组件entinel、网关组件gateway、消息驱动框架tream及消息中间件rocketmq、链路追踪组件kywalking、分布式事务管理框架eata、分库分表中间件harphere、分布式缓存数据库redi、分布式任务调度框架xxljob。

本书不仅详细介绍了各种组件及框架技术的使用步骤,而且运用了许多生动形象的生活化比喻,帮助读者理解这些技术的运作。

本书中的范例具有实用,整合了pringboot、pringcloud、hibernate、mybati、druiddataource、hikaridataource、lombok软件包、lf4j等流行的框架或工具软件。本书主要面向具有java编程基础的开发人员和在校。对于不熟悉java编程的读者,通过阅读本书,也能了解pringcloud框架的基本用法和微服务开发的核心思想。

目录

  • 版权信息
  • 内容简介
  • 作者简介
  • 前言
  • 第1章 微服务简介
  • 1.1 微服务的概念与特征
  • 1.1.1 微服务按照业务进行划分
  • 1.1.2 微服务运行在独立的进程中
  • 1.1.3 微服务采用简单协议通信
  • 1.1.4 微服务采用统一的管理框架
  • 1.2 Spring Cloud框架概述
  • 1.3 Spring Cloud Alibaba框架概述
  • 1.4 各种软件的版本匹配
  • 1.5 搭建微服务的开发和运行环境
  • 1.5.1 安装Intellij IDEA
  • 1.5.2 为IDEA配置Maven
  • 1.5.3 安装和启动Nacos服务器
  • 1.5.4 访问Nacos服务器的管理平台
  • 1.5.5 查看Nacos服务器的日志
  • 1.6 云原生的概念
  • 1.7 小结
  • 第2章 范例:helloapp项目
  • 2.1 提供者和消费者的通信及实现原理
  • 2.2 在IDEA中创建helloapp项目
  • 2.3 创建hello-provider模块
  • 2.3.1 在IDEA中创建hello-provider模块
  • 2.3.2 在pom.xml文件中添加Spring Cloud Alibaba依赖
  • 2.3.3 创建控制器类HelloProviderController
  • 2.3.4 在application.properties文件中配置微服务
  • 2.3.5 启动hello-provider模块
  • 2.4 创建hello-consumer模块
  • 2.4.1 在IDEA中创建hello-consumer模块
  • 2.4.2 在启动类中加入@EnableFeignClients注解
  • 2.4.3 创建HelloFeignService接口
  • 2.4.4 创建控制器类HelloConsumerController
  • 2.4.5 在application.properties文件中配置微服务
  • 2.4.6 启动和访问hello-consumer模块
  • 2.4.7 HelloFeignService接口的默认方法
  • 2.5 启动微服务的多个实例
  • 2.6 LoadBalancer负载均衡器
  • 2.7 通过RestTemplate类访问微服务
  • 2.7.1 使用LoadBalancerClient接口整合
  • 2.7.2 使用@LoadBalanced注解整合
  • 2.8 小结
  • 第3章 微服务的注册与发现
  • 3.1 Nacos Discovery组件的配置属性
  • 3.1.1 禁止注册微服务
  • 3.1.2 Nacos Discovery组件的客户端缓存
  • 3.1.3 微服务的分组和命名空间
  • 3.2 微服务的健康检测
  • 3.2.1 微服务的临时实例
  • 3.2.2 微服务的永久实例
  • 3.3 访问DiscoveryClient接口
  • 3.4 通过Actuator监控Nacos Discovery组件的端点
  • 3.5 Nacos Discovery组件对微服务列表的监控
  • 3.6 小结
  • 第4章 Nacos服务器配置中心
  • 4.1 在Nacos服务器中创建配置属性
  • 4.2 在微服务中读取配置属性
  • 4.2.1 创建bootstrap.properties配置文件
  • 4.2.2 Nacos Config组件的配置属性
  • 4.2.3 通过Environment对象读取配置属性
  • 4.2.4 通过@Value注解读取配置属性
  • 4.2.5 通过@ConfigurationProperties注解读取配置属性
  • 4.3 配置单元的Data ID、分组和命名空间
  • 4.4 配置属性的动态更新
  • 4.5 不同环境下配置属性的切换
  • 4.6 扩展的配置单元
  • 4.7 监控Nacos Config组件的端点
  • 4.8 设置YAML格式的配置属性
  • 4.9 配置属性的持久化
  • 4.10 配置属性的回滚
  • 4.11 小结
  • 第5章 Nacos集群
  • 5.1 Nacos集群的Raft算法
  • 5.1.1 节点之间数据的同步
  • 5.1.2 节点的选举机制
  • 5.2 搭建Nacos集群
  • 5.2.1 配置Nacos节点
  • 5.2.2 启动Nacos节点
  • 5.2.3 避免Nacos节点之间的端口冲突
  • 5.2.4 Nacos集群的选举
  • 5.2.5 通过微服务访问Nacos集群
  • 5.2.6 Nacos集群的同步
  • 5.3 Nacos集群的AP和CP运行模式
  • 5.4 使用Nginx反向代理服务器
  • 5.5 通过Keepalived建立Nginx集群
  • 5.6 小结
  • 第6章 远程调用组件:OpenFeign
  • 6.1 优化设定所访问的微服务的名字
  • 6.2 优化设定映射URL的根路径
  • 6.3 输出详细日志
  • 6.4 请求数据和响应数据的压缩
  • 6.5 超时配置
  • 6.6 异常处理
  • 6.6.1 OpenFeign与Sentinel的整合
  • 6.6.2 创建回调类
  • 6.6.3 创建回调类和工厂类
  • 6.7 传递对象参数
  • 6.7.1 传递简单对象
  • 6.7.2 传递复杂对象
  • 6.8 小结
  • 第7章 远程调用框架:Dubbo
  • 7.1 比较Dubbo和OpenFeign
  • 7.2 创建采用Dubbo框架的范例
  • 7.2.1 创建hello-provider模块
  • 7.2.2 创建hello-consumer模块
  • 7.2.3 消费者远程访问提供者
  • 7.3 超时时间和重试次数设置
  • 7.4 异常处理
  • 7.5 传递复杂对象类型数据
  • 7.6 负载均衡
  • 7.7 Dubbo与Sentinel的整合
  • 7.8 提供者回调消费者
  • 7.9 消费者异步调用提供者的服务方法
  • 7.10 小结
  • 第8章 流量控制组件:Sentinel
  • 8.1 微服务容错的基本原理
  • 8.2 微服务与Sentinel的整合
  • 8.2.1 hello-consumer模块与Sentinel的整合
  • 8.2.2 安装Sentinel控制台
  • 8.2.3 在Sentinel控制台中查看微服务的流量
  • 8.3 流控规则
  • 8.3.1 流控模式
  • 8.3.2 流控效果
  • 8.4 熔断规则
  • 8.4.1 慢调用比例
  • 8.4.2 异常比例
  • 8.4.3 异常数
  • 8.5 系统规则
  • 8.6 授权规则
  • 8.7 @SentinelResource注解
  • 8.7.1 热点规则
  • 8.7.2 请求被拒绝的处理方式
  • 8.7.3 对异常的处理
  • 8.8 自定义处理BlockException异常的方式
  • 8.9 集群流控
  • 8.9.1 集群流控的原理
  • 8.9.2 Token Server的部署模式
  • 8.9.3 配置集群流控
  • 8.10 Sentinel规则的持久化
  • 8.10.1 流控规则的持久化
  • 8.10.2 熔断规则的持久化
  • 8.10.3 系统规则的持久化
  • 8.11 小结
  • 第9章 网关组件:GateWay
  • 9.1 GateWay简介
  • 9.2 创建网关服务模块
  • 9.3 GateWay与Nacos的整合
  • 9.4 断言
  • 9.4.1 内置的断言工厂类
  • 9.4.2 自定义断言工厂类
  • 9.5 过滤器
  • 9.5.1 局部内置过滤器
  • 9.5.2 默认过滤器
  • 9.5.3 全局内置过滤器
  • 9.5.4 自定义局部过滤器
  • 9.5.5 自定义全局过滤器
  • 9.5.6 SLF4J日志工具
  • 9.6 GateWay与Sentinel的整合
  • 9.6.1 对路由限流
  • 9.6.2 对自定义的API入口限流
  • 9.6.3 同时对路由和API入口限流
  • 9.7 跨域配置
  • 9.8 超时配置
  • 9.9 通过Actuator监控网关
  • 9.10 网关集群
  • 9.11 小结
  • 第10章 消息驱动框架:Stream
  • 10.1 消息中间件简介
  • 10.1.1 消息中间件的运用场景
  • 10.1.2 消息中间件的缺点
  • 10.1.3 消息中间件产品
  • 10.2 RocketMQ简介
  • 10.2.1 RocketMQ涉及的基本概念
  • 10.2.2 RocketMQ的消息收发模型
  • 10.2.3 安装和启动RocketMQ
  • 10.2.4 安装和启动RocketMQ控制台
  • 10.3 搭建RocketMQ集群
  • 10.3.1 搭建NameServer集群
  • 10.3.2 搭建BrokerServer集群
  • 10.3.3 多Master模式
  • 10.3.4 多Master多Slave的异步复制模式
  • 10.3.5 多Master多Slave的同步双写模式
  • 10.4 Spring Cloud Stream简介
  • 10.5 在微服务中收发消息
  • 10.5.1 创建消息生产者
  • 10.5.2 创建消息消费者
  • 10.5.3 运行消息生产者和消息消费者
  • 10.5.4 收发Message类型的消息
  • 10.6 通过StreamBridge类发送消息
  • 10.6.1 StreamBridge类的用法
  • 10.6.2 用ChannelInterceptor拦截消息
  • 10.7 发送HTTP请求正文
  • 10.8 通过Function函数式接口收发消息
  • 10.9 响应式收发消息
  • 10.10 多输入通道和输出通道
  • 10.11 批量消费消息
  • 10.12 批量生产消息
  • 10.13 处理错误
  • 10.13.1 清除失败消息
  • 10.13.2 把失败消息发送到DLQ
  • 10.13.3 尝试重新消费失败消息
  • 10.14 消费者分组和分区
  • 10.15 消息正文的类型转换
  • 10.16 通过Actuator监控Stream
  • 10.17 小结
  • 第11章 链路追踪组件:SkyWalking
  • 11.1 SkyWalking简介
  • 11.2 链路追踪软件
  • 11.3 安装和运行SkyWalking
  • 11.4 在微服务中安置探针
  • 11.4.1 查看拓扑图
  • 11.4.2 追踪链路
  • 11.4.3 查看监控数据
  • 11.4.4 性能分析
  • 11.5 采集日志
  • 11.6 自定义链路追踪
  • 11.7 忽略端点
  • 11.8 告警
  • 11.8.1 编写满足告警规则的方法
  • 11.8.2 创建处理告警的webhook
  • 11.8.3 测试告警
  • 11.9 整合Elasticsearch数据库
  • 11.10 整合MySQL数据库
  • 11.11 通过Nacos建立SkyWalking集群
  • 11.12 小结
  • 第12章 分布式事务管理框架:Seata
  • 12.1 分布式事务概述
  • 12.2 Seata简介
  • 12.3 Seata的事务模式
  • 12.3.1 AT模式
  • 12.3.2 TCC模式
  • 12.3.3 Saga模式
  • 12.3.4 XA模式
  • 12.4 安装和运行Seata Server
  • 12.5 创建AT模式下的范例
  • 12.5.1 创建Seata Server的MySQL存储源
  • 12.5.2 处理分布式事务的微服务的架构
  • 12.5.3 创建order-service微服务
  • 12.5.4 声明全局事务和分支事务
  • 12.5.5 演示全局事务的提交和撤销
  • 12.6 搭建与Nacos整合的Seata Server集群
  • 12.6.1 在MySQL中创建seata数据库和表
  • 12.6.2 在Nacos配置中心配置Seata Server
  • 12.6.3 在Seata Server的配置文件中配置Nacos
  • 12.6.4 在微服务中配置Seata
  • 12.6.5 运行和访问Seata Server集群
  • 12.7 事务组与Seata Server集群的映射
  • 12.8 小结
  • 第13章 分库分表中间件:ShardingSphere
  • 13.1 分库分表概述
  • 13.2 ShardingSphere简介
  • 13.2.1 Sharding-JDBC简介
  • 13.2.2 Sharding-Proxy简介
  • 13.3 ShardingSphere的核心概念
  • 13.3.1 与表相关的概念
  • 13.3.2 与分片相关的概念
  • 13.4 ShardingSphere的工作流程
  • 13.5 ShardingSphere的SQL规范
  • 13.6 运用Sharding-JDBC的范例
  • 13.6.1 加入Sharding-JDBC等的依赖
  • 13.6.2 创建拆分后的订单表
  • 13.6.3 配置Sharding-JDBC和MyBatis
  • 13.6.4 创建Order实体类
  • 13.6.5 创建访问数据的OrderDao接口
  • 13.6.6 创建OrderService类
  • 13.6.7 创建OrderController类
  • 13.6.8 运行演示SQL路由的范例
  • 13.6.9 把订单表拆分到两个数据库中
  • 13.6.10 配置绑定表
  • 13.6.11 配置广播表
  • 13.6.12 主从数据库和读写分离
  • 13.7 Sharding-Proxy简介
  • 13.7.1 安装和配置Sharding-Proxy
  • 13.7.2 在微服务中访问Sharding-Proxy
  • 13.7.3 配置读写分离
  • 13.7.4 配置数据加密
  • 13.7.5 配置影子数据源
  • 13.8 小结
  • 第14章 分布式缓存数据库:Redis
  • 14.1 Redis简介
  • 14.2 安装和启动Redis
  • 14.3 在微服务中访问Redis
  • 14.4 Redis数据类型
  • 14.4.1 读写list类型数据
  • 14.4.2 读写set类型数据
  • 14.4.3 读写zset类型数据
  • 14.4.4 读写hash类型数据
  • 14.4.5 序列化Java对象
  • 14.5 Redis集群
  • 14.5.1 主从模式
  • 14.5.2 哨兵模式
  • 14.5.3 集群模式
  • 14.5.4 搭建Redis集群
  • 14.6 在微服务中访问Redis集群
  • 14.7 小结
  • 第15章 分布式任务调度框架:XXL-JOB
  • 15.1 安装和运行XXL-JOB
  • 15.1.1 创建XXL-JOB的数据库
  • 15.1.2 配置XXL-JOB调度中心
  • 15.1.3 运行和访问XXL-JOB调度中心
  • 15.1.4 配置XXL-JOB执行器
  • 15.1.5 运行XXL-JOB执行器
  • 15.2 创建和执行GLUE模式的任务
  • 15.3 创建和执行BEAN模式的任务
  • 15.3.1 任务的初始化和销毁
  • 15.3.2 带参数的任务
  • 15.4 执行器集群和分片执行任务
  • 15.5 搭建调度中心的集群
  • 15.6 小结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。