《Spring微服务实战》读书笔记
福利置顶,PDF版本电子书下载地址:百度网盘,密码: e45d。
还是比较习惯中文阅读,因为速度足够快,毕竟我这样的菜逼要看的书籍太多,啃英文不知道得啃到什么时候(读英文文档不是问题,毕竟小硕毕业)。百度下载的这个中译本是 迷途书童 翻译的,很感谢。
但是,这翻译的水平明显有待提高啊,很多地方明显感觉就是机器翻译的结果。Are you kidding me?
另:本书基于Camden.SR5版本,略显过时。
第一章 欢迎来到Cloud 和 Spring
说到微服务,言必谈单体架构,本书亦不例外。
小的,简单的,解耦的服务 = 可扩展的,有弹性的,灵活的应用。
云平台类型:PaaS(platform),SaaS(service),Iaas(infrastructure),FaaS(function),CaaS(container),后两者是基础设施部署微服务的替代机制;
六类微服务模式:
- 核心开发模式
- 路由模式
- 客户端弹性模式
- 安全模式
- 日志记录和跟踪模式
- 构建和部署模式
微服务核心开发模式:
- 服务粒度
- 通信协议
- 接口设计
- 配置管理
- 事件处理
四种客户端弹性模式:
- 客户端负载均衡
- 断路器模式
- 回退模式
- 舱壁模式:
三个基本的安全模式:
- 认证
- 授权
- 证书管理和传播
三个核心日志和跟踪模式:
- 日志关联分析
- 日志聚合
- 微服务跟踪:
第二章 使用Spring Boot构建微服务
第三章 使用Spring Cloud Config Server控制配置
第四章 服务发现
第五章 使用Spring Cloud Hystrix客户端弹性模式
有四种客户端弹性模式:
客户端负载均衡
断路器
回退
舱壁
激活Hystrix需要在启动类添加注解@EnableCircuitBreaker;
为@HystrixCommand注解类或者方法,动态生成一个代理,将包装方法和管理所有的调用,该方法通过与门预留处理迖程调用线程的线程池。
HystrixCommand
第六章 使用Spring Cloud zuul路由
第七章 微服务安全
第八章 Spring Cloud Stream 的事件驱劢架构
第九章 使用 Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪
第十章 部署微服务
AWS的操作绝对是程序员的加分项之一。菜逼我第一份工作在外企,就是使用国外的云服务比如AWS以及Azure;但是工作第一年使用云服务创建实例的实践太少太少,好可惜。现在想要再实践使用AWS,需要付费付费付费。。。
微服务架构的关键优势之一是微服务是可以快速构建、修改和部署到生产且彼此独立的小代码单元。为了达到这个优势,需要做到:
- 自动化:
- 可重复:
- 完整:微服务开发的核心原则之一是将服务的完整运营责任推给开发人员。
- 不可变:
在构建和部署管道中有三种典型的测试类型:
- 单元测试
- 集成测试
- 平台测试
构建/部署过程构建在四个核心模式之上: - 持续集成CI:代码提交触发构建和单元测试,甚至集成测试;
- 持续交付CD:基于CI,对java开发而言,主要是部署jar/war到servlet服务器;
- 基础设施即代码:Infrastructure as Code,很火的一个DevOps概念,主要指一些配置脚本纳入CVS,像代码一样可以管理,有版本控制,可回退等。
- 不可变的服务器
其他
Amazon ECS 命令行客户端:https://github.com/aws/amazon-ecscli,命令行强大的工具集。
书籍推荐:Amazon Web Services in Action。
使用 Amazon ElastiCache 服务创建 Redis 集群。
允许来自世界的所有入境流量(0.0.0.0/0 是整个互联网的网络掩码)。
Amazon 的 CloudFormation 脚本 DSL(特定领域语言)。
PhoenixServer,又是Martin Fowler老爷子的概念,指的是那种服务器应该可以选择仍机器镜像中终止幵重新启动,而无需更改服务或微服务行为。这个终止和复活的新服务器
参考文章:https://martinfowler.com/bliki/PhoenixServer.html