新書推薦:
《
元好问与他的时代(中华学术译丛)
》
售價:HK$
87.4
《
汽车传感器结构·原理·检测·维修
》
售價:HK$
112.7
《
怪谈百物语:不能开的门(“日本文学史上的奇迹”宫部美雪重要代表作!日本妖怪物语集大成之作,系列累销突破200万册!)
》
售價:HK$
66.7
《
罗马政治观念中的自由
》
售價:HK$
51.8
《
中国王朝内争实录:宠位厮杀
》
售價:HK$
63.3
《
凡事发生皆有利于我(这是一本读了之后会让人运气变好的书”治愈无数读者的心理自助经典)
》
售價:HK$
45.8
《
未来特工局
》
售價:HK$
57.3
《
高术莫用(十周年纪念版 逝去的武林续篇 薛颠传世之作 武学尊师李仲轩家世 凸显京津地区一支世家的百年沉浮)
》
售價:HK$
56.4
|
編輯推薦: |
● 系统深入:由浅入深,详细介绍微服务相关知识,依次击破操作难点● 快速进阶:通过基本知识,引出进阶知识,进一步提升开发技术● 案例丰富:书中列举多个案例,在实战中学习,增加实战经验
|
內容簡介: |
本书以实战化训练为宗旨,用详尽的案例讲述 Spring Cloud 的项目搭建方法和常用技术。每个案例都配有详细讲解和代码,可以帮助读者快速掌握书中的各个知识点。本书首先介绍系统架构的发展历史、常见的微服务架构、Spring Boot 和 Spring Cloud 的关系;然后介绍Spring Cloud 开发环境的搭建,如 JDK、IntelliJ IDEA、Maven 的安装和配置;继而介绍微服务环境的创建、微服务项目案例的搭建和微服务的调用;最后介绍常用的微服务技术,如 Eureka、Ribbon、Feign、Hystrix、Spring Cloud Gateway、Spring Cloud Stream 和 Spring Cloud Config。本书适合具备 Java 基础的开发人员、对微服务架构和 Spring Cloud 感兴趣的读者、想要了解 Spring 或Spring Cloud 的开发人员阅读。对尝试选择或实施微服务架构的团队来说,本书具有较高的参考价值。
|
關於作者: |
周喜平,教授,研究方向为软件工程、软件开发技术。河南省优秀教师,河南省教育厅学术带头人,河南省高等学校计算机类专业教学指导委员会委员。发表论文30余篇,出版专著7部,主持和参与科研项目20余项,其中“河南省外经贸厅办工自动化系统”“电力及施工企业固定资产管理系统”“惠农资金管理系统”“地市级居民医疗保险信息管理系统”“纯电动汽车高并发数据采集平台”“基于标准分的教师评教系统”“智慧消防云平台”等项目均采用Java工具实现。
|
目錄:
|
001 第 1 章 认识微服务002 1.1 系统架构的发展历史002 1.1.1 单体架构003 1.1.2 垂直架构003 1.1.3 分布式架构004 1.1.4 面向服务的架构004 1.1.5 微服务架构005 1.2 常见的微服务架构006 1.2.1 Spring Cloud008 1.2.2 Dubbo009 1.2.3 Dropwizard009 1.2.4 Cricket009 1.2.5 Jersey009 1.2.6 Play009 1.3 Spring Boot 和 Spring Cloud 的关系010 1.3.1 认识 Spring Boot011 1.3.2 Spring Boot 整合 Spring Cloud013 第 2 章 准备开发环境014 2.1 Java 开发环境 JDK014 2.1.1 下载 JDK016 2.1.2 安装 JDK018 2.1.3 配置 Java 环境变量019 2.2 开发工具 IntelliJ IDEA019 2.2.1 下载 IntelliJ IDEA020 2.2.2 安装 IntelliJ IDEA026 2.3 项目管理工具 Maven027 2.3.1 下载 Maven028 2.3.2 安装 Maven028 2.3.3 配置 Maven 环境变量029 2.3.4 配置 Maven 本地仓库和下载源030 2.3.5 与 IntelliJ IDEA 集成031 第 3 章 贯穿案例032 3.1 数据库033 3.2 创建工程033 3.2.1 创建父工程035 3.2.2 创建子工程—用户微服务040 3.2.3 创建子工程—商品微服务045 3.2.4 创建子工程—订单微服务049 3.3 使用 Postman 测试微服务049 3.3.1 测试新增050 3.3.2 测试查询全部050 3.3.3 测试根据 id 查询单个051 3.3.4 测试修改052 3.3.5 测试删除053 3.4 调用微服务053 3.4.1 介绍 RestTemplate 类053 3.4.2 使用 RestTemplate 调用微服务054 3.4.3 分析硬编码存在的问题055 第 4 章 Eureka 服务注册和发现056 4.1 认识 Eureka056 4.1.1 服务注册和服务发现057 4.1.2 注册中心059 4.1.3 Eureka 框架的原理060 4.2 使用 Eureka060 4.2.1 搭建 Eureka 注册中心063 4.2.2 将服务注册到 Eureka 注册中心064 4.2.3 使用 Eureka 的元数据完成服务调用065 4.3 Eureka 服务端高可用集群066 4.3.1 搭建 Eureka 服务端高可用集群068 4.3.2 将服务注册到 Eureka 服务端集群070 4.4 Eureka 常见问题070 4.4.1 服务注册慢070 4.4.2 服务节点剔除问题071 4.4.3 监控页面显示 IP 地址信息071 4.5 Eureka 源码解析072 4.5.1 服务注册表073 4.5.2 服务注册075 4.5.3 接收服务心跳076 4.5.4 服务剔除078 4.5.5 服务下线080 4.5.6 集群同步084 4.5.7 获取注册表中服务实例的信息089 第 5 章 基于 Ribbon 服务调用090 5.1 认识 Ribbon090 5.1.1 微服务之间的交互091 5.1.2 Ribbon 的两个主要作用091 5.1.3 客户端的负载均衡093 5.2 基于 Ribbon 实现负载均衡调用093 5.2.1 坐标依赖094 5.2.2 工程改造097 5.2.3 代码测试098 5.3 Ribbon 源码解析098 5.3.1 配置和实例初始化100 5.3.2 负载均衡器102 5.3.3 ILoadBalancer 的实现105 5.3.4 负载均衡策略实现115 第 6 章 基于 Feign 服务调用116 6.1 认识 Feign116 6.1.1 Java 项目中接口的调用方式117 6.1.2 Feign 和 Ribbon 的关系117 6.2 使用 Feign 实现服务调用117 6.2.1 坐标依赖117 6.2.2 工程改造119 6.2.3 代码测试120 6.3 Feign 自定义配置和使用120 6.3.1 日志配置122 6.3.2 超时时间配置122 6.3.3 客户端组件配置123 6.3.4 压缩配置124 6.3.5 使用配置文件自定义 Feign 的配置125 6.4 源码分析125 6.4.1 核心组件与概念126 6.4.2 动态注册 BeanDefinition133 6.4.3 实例初始化136 6.4.4 函数调用和网络请求143 第 7 章 Hystrix 服务熔断144 7.1 认识 Hystrix144 7.1.1 雪崩效应145 7.1.2 线程隔离146 7.1.3 服务熔断147 7.2 使用 REST 实现服务熔断147 7.2.1 坐标依赖147 7.2.2 工程改造150 7.2.3 代码测试150 7.3 使用 Feign 实现服务熔断151 7.3.1 坐标依赖151 7.3.2 工程改造153 7.3.3 代码测试153 7.4 使用 Hystrix 实现监控154 7.4.1 使用 Hystrix Dashboard 查看监控数据157 7.4.2 使用 Hystrix Turbine 聚合监控数据159 7.4.3 断路器的状态162 7.4.4 断路器的隔离策略163 7.5 源码分析164 7.5.1 封装 HystrixCommand169 7.5.2 断路器逻辑175 第 8 章 Spring Cloud Gateway 服务网关176 8.1 认识 Spring Cloud Gateway177 8.1.1 微服务网关概述178 8.1.2 微服务网关工作流程178 8.2 实现服务网关179 8.2.1 创建子工程——服务网关179 8.2.2 坐标依赖179 8.2.3 工程改造182 8.2.4 代码测试183 8.3 路由规则183 8.3.1 路由规则概述188 8.3.2 动态路由189 8.3.3 重写转发路径191 8.4 过滤器191 8.4.1 过滤器基础192 8.4.2 局部过滤器194 8.4.3 全局过滤器196 8.5 网关限流197 8.5.1 常见的限流算法197 8.5.2 基于过滤器的限流201 8.5.3 基于 Sentinel 的限流205 8.6 源码解析206 8.6.1 初始化配置207 8.6.2 网关处理器209 8.6.3 路由定义定位器211 8.6.4 路由定位器211 8.6.5 路由断言212 8.6.6 网关过滤器213 8.6.7 全局过滤器213 8.6.8 API 端点215 第 9 章 Spring Cloud Stream 消息驱动216 9.1 认识 Spring Cloud Stream216 9.1.1 消息队列218 9.1.2 绑定器219 9.1.3 发布订阅模式220 9.2 实现消息驱动220 9.2.1 安装 RabbitMQ224 9.2.2 消息生产者226 9.2.3 消息消费者229 9.2.4 自定义消息通道231 9.3 消费者组232 9.3.1 工程改造234 9.3.2 代码测试234 9.4 消费分区235 9.4.1 工程改造237 9.4.2 代码测试238 9.5 源码解析239 9.5.1 动态注册 BeanDefinition241 9.5.2 消息发送的流程243 9.5.3 @StreamListener 注解的处理249 第 10 章 Spring Cloud Config 分布式配置中心250 10.1 认识 Spring Cloud Config251 10.1.1 配置中心概述251 10.1.2 其他配置中心251 10.2 实现配置中心251 10.2.1 配置管理254 10.2.2 服务端257 10.2.3 客户端259 10.2.4 配置刷新264 10.3 服务总线264 10.3.1 消息代理265 10.3.2 工程改造270 10.4 源码解析271 10.4.1 配置服务器280 10.4.2 配置客户端
|
|