推荐阅读1:一文彻底吃透Redis Cluster集群
推荐阅读2:来自五年架构师的职业感悟,学历+路线+风口
推荐阅读3:一面顺丰因Redis惨败,靠着清华大佬的规划指引,再战终成功
推荐阅读4:清华扫地僧带你深入JVM调优实战,思路清晰,精通简直太容易
前言
自从10年前我进入软件开发领域以来,我就目睹了软件业与构建分布式应用程序的“正确”方式作斗争。我目睹过分布式服务标准(如CORBA )兴起与陨落。巨型公司试图推行大型的而且通常是专有的协议。有人记得微软公司的分布式组件对象模型( Distributed Component Object Model, DCOM )或甲骨文公司的J2EE企业Java Bean2 ( EJB )吗?我目睹过技术公司和它们的追随者涌向沉重的基于XML的模式来构建面向服务的架构( SOA )。
在各种情况下,这些用于构建分布式系统的方法常常在它们自身的负担下崩溃。我并不是说这些技术无法用来构建一些非常强大的应用程序。它们陨落的真相是它们无法满足用户的需求。10年前,智能手机刚刚被引入市场,云计算还处于起步阶段。另外,分布式应用程序开发的标准和技术对于普通开发人员来说太复杂了,以致于无法在实践中理解和使用。在软件开发行业,没有什么能像书面代码那样说真话。当标准妨碍到这一点时,标准很快就会被抛弃。
SpringCloud框架为许多微服务开发人员将会遇到的常见开发和运维问题提供开箱即用的解决方案。Spring Cloud可以让开发人员仅使用所需的部分,并最大限度地减少构建和部署生产就绪的Java微服务所需的工作量。通过使用其他来自Netflix、HashiCorp 以及Apache基金会等公司和组织的久经考验的技术,Spring Cloud实现了这一点。
今天,我们就一起来学习十年架构师的Spring微服务实战笔记,相信你一定能够获得你想要的知识要点~~~
第1章:欢迎进入云世界,Spring
1.1 什么是微服务
1.2 什么是Spring, 为什么它与微服务有关
1.3 在本书中读者会学到什么
1.4 为什么本书与你有关
1.5 使用Spring Boot来构建微服务
1.6 为什么要改变构建应 用的方式
1.7 云到底是什么
1.8 为什么是云和微服务
1.9 微服务不只是编写代码
1.10 使用Spring Cloud构建微服务
第1章会介绍微服务架构为什么是构建应用程序,尤其是基于云的应用程序的重要相关方法。
第2章:使用SpringBoot构建微服务
2.1 架构师的故事:设计微服务架构
2.2 何时不应该使用微服务
2.3 开发人员的故事:用Spring Boot和Java构建微服务
2.4 DevOps工程师的故事构建运行时的严谨性
第2章将引导读者了解如何使用Spring Boot构建第一个基于REST的微服务。这一章将介绍如何通过架构师、应用工程师和DevOps工程师的角度来审视微服务。
第3章:使用Spring Cloud配置服务器控制配置
3.1 管理配置 (和复杂性)
3.2 构建 Spring Cloud配置服务器
3.3 将Spring Cloud Config与Spring Boot客户端集成
3.4 保护敏感的配置信息
第3章会介绍如何使用SpringCloudConfig管理微服务的配置。SpringCloudConfig可帮助开发人员确保服务的配置信息集中在单个存储库中,并且在所有服务实例中都是版本控制和可重复的。
第4章:服务发现
4.1 我的服务在哪里
4.2 云中的服务发现
4.3 构建Spring Eureka服务
4.4 通过 Spring Eureka注册服务
4.5 使用服务发现来查找服务
第4章介绍第一个微服务路由模式一服务发现。 在这一章中, 读者将学习如何使用Spring Cloud和Netlix的Eureka服务,将服务的位置从客户的使用中抽象出来。
第5章:使用 Spring Cloud和Netlix Hystrix的客户端弹性模式
5.1 什么是客户端弹性模式
5.2 为什么 客户端弹性很重要
5.3 进人Hystrix 107
5.4 搭建许可 服务器以使用Spring Cloud和Hystrix
5.5 使用Hystrix 实现断路器
5.6 后备处理
5.7 实现舱壁模式
5.8 基础进阶——微调Hystrix
5.9 线程上下文和Hystrix
第5章讨论在一个或多个微服务实例关闭或处于降级状态时保护微服务的消费者。这一章将演示如何使用Spring Cloud和Netlix Hystrix (和Netflix Ribbon )来实现客户端调用的负载均衡、断路器模式、后备模式和舱壁模式。
第6章:使用Spring Cloud和Zuul进行服务路由
6.1 结合微服务使用服务网关
6.2 使用Spring Cloud和Netlix Zuul实现服务网关
6.3 在Zuul中映射微服务路由
6.4 构建过滤器以使用关联ID并进行跟踪
6.5 使用Zuul进行动态路由
第6章会介绍微服务路由模式——服务网关。使用Spring Cloud和Netlix的Zuul服务器,开发人员将为所有微服务建立一个单一入口点。我们将讨论如何使用Zuul的过滤器API来构建可以针对流经服务网关的所有服务强制执行的策略。
第7章:保护微服务
7.1 了解安全在微服务环境中的重要性
7.2 认识OAuth2标准
7.3 建立和配置基于Spring的OAuth2服务
7.4 使用OAuth2执行用户验证和授权
7.5 使用OAuth2保护Spring微服务
7.6 在服务之间传播OAuth2访问令牌
第7章介绍如何使用Spring Cloud Security 和OAuth2实现服务验证和授权。我们将介绍如何设置OAuth2服务来保护服务,以及如何在OAuth2实现中使用JSONWeb令牌(JSON Web Tokens,JWT )。
第8章:使用Spring Cloud Stream的事件驱动架构
8.1 了解事件驱动的架构处理以及它与微服务的相关性
8.2 使用SpringCloudStream简化微服务中的事件处理
8.3 配置Spring Cloud Stream
8.4 使用SpringCloudStream和Kafka发布消息
8.5 使用SpringCloudStream和Kafka消费消息
8.6 使用Spring Cloud Stream、Kafka 和Redis实现分布式缓存
第8章讨论如何使用Spring Cloud Stream和Apache Kafka将异步消息传递到微服务中。
第9章:使用Spring Cloud Sleuth和Zipkin进行分布式跟踪
9.1 使用Spring Cloud Sleuth将跟踪信息注入服务调用
9.2 使用日志聚合来查看分布式事务的日志
9.4 通过日志聚合工具进行查询
9.5 在跨多个微服务调用时,使用OpenZipkin直观地理解用户的事务
9.6 使用Spring Cloud Sleuth和Zipkin定制跟踪信息
第9章介绍如何使用Spring Cloud Sleuth和Open Zipkin来实现日志关联、日志聚合和跟踪等常见日志记录模式。
第10章:部署微服务
10.1 理解为什么DevOps运动对微服务至关重要
10.2 配置EagleEye服务使用的核心亚马逊基础设施
10.3 手动将EagleEye服务部署到亚马逊的EC2容器服务中
10.4 为服务设计构建和部署管道
10.5 从持续集成转向持续部署
10.6 将基础设施视为代码
10.7 构建不可变的服务器
10.8 在部署中测试
10.9 将应用程序部署到云
第10章是本书的基石项目。读者将使用在本书中构建的服务,并将其部署到亚马逊弹性容器服务( Amazon Elastic Container Service, ECS )。我们还将讨论如何使用TravisCI等工具自动化构建和部署微服务。
后记
本篇是为工作中的Java/Spring 开发人员纂写的,他们需要实际的建议以及如何构建和实施基于微服务的应用程序的示例。写这本书的时候,我希望它基于与Spring Boot和Spring Cloud示例结合的核心微服务模式,这些示例演示了这些模式。因此,读者会发现几乎每一章都会讨论特定的微服务设计模式,以及使用Spring Boot和Spring Cloud实现的模式示例。
对于这篇十年架构师的spring微服务实战笔记感兴趣的朋友,请多多点赞评论转发,让更多人看到获益,如需免费领取,请关注小编,并私信回复【学习】即可哦~~~
网友评论