《Spring Cloud微服务实战》是一本由翟永超著作,电子工业出版社出版的平装图书,本书定价:89,页数:440,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。
《Spring Cloud微服务实战》精选点评:
●使用和实现原理都说的很清楚,但是好像缺了一些内容,比如feign的实现
●还不错,主要介绍是spring cloud目前的各个套件很全
●对于一本实战类的书,已经足够好了
●看过spring微服务实战再来看这本书,怎么说呢,就感觉写的有点水
●入门spring cloud全家桶的要读书目,以各个组件串联起来,并附有一定量的源码分析,能加深理解。 推荐新手上手用
●微服务入门书籍
●改变了我对国产技术书籍的偏见。spring cloud技术发展太快,掌握方法论,学会“读”源码。
●粗略读了一遍,不错,轻理论,偏实战。
●先入个门。
●不错的实战书,不仅介绍了如何使用,还细致讲解了原理和分析,未来就机会再细读一下,毕竟现在Spring Cloud版本更新的太快。
《Spring Cloud微服务实战》读后感(一):内容一般
ring cloud的组件虽多,但就像spring的风格一样一切组件都是选装,必须的可能就是
eureka+ribbon+hystrix或eureka+feign,spring boot及cloud更新太快了,书本内容有点过时,但不影响学习,这本书帮我理清了spring cloud各组件的功能,算是介绍比较全面,但有些内容剖析源码很多,有些确没有讲,不知道作者是要侧重应用,还是要侧重原理有点无法理解,虽然如此这本书还是值得一看。
以下是我总结的相关内容:
eureka 微服务的注册和发现
ribbon 微服务负载均衡客户端
hystrix服务降级容错
feign简化两者及集成
zuul服务级切面拦截
config集中式配置服务
us消息中心(提供消息中间件集成)
tream这个用于消息中间件的解耦,目前支持kafka,rabbitmq
leuth 微服务跟踪
《Spring Cloud微服务实战》读后感(二):Spring Cloud微服务实战教程
ring Cloud微服务实战教程
网盘地址:https://pan.baidu.com/s/1GXZJf3MFZuXy9-uCB6vZtw 密码: 458w
备用地址(腾讯微云):https://share.weiyun.com/5Sc3eEK 密码:q6cmrk
微服务架构已是当下最热门的话题,许多公司都在从传统架构系统向微服务转化。
本门课程以点餐业务为例,使用Spring Boot2.x 配合SpringCloud核心组件,剖析微服务原理。并利用Rancher+Docker实现容器编排,SpringCloud Sleuth集成Zipkin实现分布式链路追踪,带你领略最潮的微服务实现方案
《Spring Cloud微服务实战》读后感(三):啊,春天的云彩
春天到了,看看 Spring Cloud。
书本内容不错,覆盖了使用 Spring Cloud 构建微服务过程中,需要面对的几个主要环节的问题及解决方案。对组件的工作原理有清晰明了的概述,这点对我最重要,因为我尚未实践 Spring Cloud;对细节介绍也足够下沉,核心源代码亦有分析。兼顾微观和宏观,无论对像我这样的翻一翻注重理论学习、侧重技术选型的人,还是 Spring Cloud 的开发者,都是有益的。
主要内容:
- 基础知识。微服务和单体应用的区别,有哪些独特的问题需要解决。从单进程到多进程,技术选型(语言、数据库、硬件等)。微服务带来的运维挑战(服务治理能力:网络延迟、分布式事务、异步消息、错误蔓延、认证服务、测试)。选择 Spring Cloud 的区别:各个组件之间配合更好(购买主机时,选择品牌机和DIY的区别,后者更灵活,但对技术能力要求更高)。如果从零开始,建议选择 Spring Cloud。中途开始使用则需要对各个技术组件进行技术选型调研。
- 服务治理组件 Spring Cloud Eureka([juˈriːkə],我发现了,我找到了)。包括服务注册中心,提供服务注册、服务发现功能。包括客户端和服务器端
- 客户端负载均衡:Spring Cloud Ribbon
- 服务容错保护:Spring Cloud Hystrix,断路器,帮助服务依赖中出现的延迟(性能)和故障(可用性)提供容错能力
- 声明式服务调用:Spring Cloud Feign。基于 Ribbon 和 Hystrix 的声明式服务调用组件
- API 网关服务:Spring Cloud Zuul,网关组件,提供智能路由、访问过滤(认证)等功能。不需要每个微服务都实现认证(改动和测试太麻烦)
- 分布式配置中心:Spring Cloud Config
- 消息总线:Spring Cloud Bus,时间、消息总线
- 消息驱动的微服务:Spring Cloud Stream
- 分布式服务跟踪: Spring Cloud Sleuth,Spring Cloud 应用的分布式跟踪实现(同一个 Trace Id)
《Spring Cloud微服务实战》读后感(四):一本关于spring cloud的不错入门书
本文为《spring cloud 微服务实战》读书笔记。
gt; actuator
应用配置类
* /autoconfig 自动化的配置信息
* /beans 所有bean的配置信息
* /configprops 配置的属性信息
* /env 可用的环境属性
* /mappings spring mvc 映射关系
* /info 自定义信息
度量指标类
* /metris 度量指标
* /health 健康指标
* /dump 程序运行中线程信息
* /trace http跟踪信息
操作控制类
* /shutdown 关闭应用
gt; eureka
* 服务注册
* 服务发现(使用服务名称,而不是服务实例IP地址)
说明:服务端负载均衡类似于nginx,指的是在服务端进行均衡算法分配。客户端负载均衡类似于ribbon,指的是在客户端维持一份服务器实例列表,进行算法分配。
eureka服务端:@EnableEurekaServer
eureka客户端:
@EnableDiscoveryClient
* 服务注册中心的集群
* ribbon客户端负载均衡
基础架构:
1. 服务注册中心 eureka server
2. 服务提供者 eureka client
3. 服务消费者 call eureka client API
gt; ribbon
rest template
* getForEntity/getForObject
* postForEntity/postForObject
* put
* delete
通过LoadBalancerIntercepter拦截器对rest template请求进行拦截,负载均衡器LoadBalancerClient是一个通用接口,实现RibbonLoadBalancerClient,具体实现是ILoadBalancer。
负载均衡策略:
* RandomRule 随机
* RoundRobinRule 线性轮询
* RetryRule 重试,使用线性轮询
* WeightedResponseTimeRule 响应时间权重
* BestAvailRule 最空闲
* PredicateBasedRule 断言(先过滤,再选择)
* AvailabilityFilteringRule 可用性
与Eureka结合时,上述很多api实现会被eureka替代。
ring-retry可以增强对rest template的重试能力
gt; Hystrix
主app添加:
@EnableCircuitBreaker
RxJava观察者-订阅者模式
* fallback 服务降级
依赖隔离:
* 对依赖服务的线程池隔离
* 信号量控制单个服务并发度
请求缓存:
* get不需要主动清缓存
* post 后需要清 get的缓存
@CacheResult
@CacheKey
@CacheRemove
请求合并:HystrixCollapser
atchMethod
请求合并的使用场景:
1. 请求本身高延迟
2. 延迟时间窗内并发数很高
Hystrix Dashboard
@EnableHystrixDashboard
gt; Feign
是Ribbon和Hystrix的高层次整合,声明式服务绑定。
基本用法:
* 主类@EnableFeignClients
* 定义接口 @FeignClient(xxx-service)
* Autowired 直接挂载xxx-service调用
代码重构:服务提供者和服务消费者均使用同样的接口定义,可考虑抽取该接口定义到公有project,服务端实现该接口,客户端继承该接口,从而减少代码冗余。
Feign中的Ribbon配置:
* 全局配置
* 特定服务配置
* 默认重试机制
Feign中的hystrix配置:
* 全局配置
* 服务降级配置(为接口编写一个实现类,在该类实现fallback逻辑)
Feign其他配置:
* 请求和响应GZIP压缩
* 日志配置
gt; Zuul
@EnableZuulProxy
请求路由:
建议引入eureka依赖,实现面向服务的路由。
请求过滤:
通过继承ZuulFilter抽象类并实现具体逻辑,并在主类配置该bean。
动态路由:
通过config server加载git backend的配置文件实现。
动态过滤器:
通过自定义配置类并借助groovy来实现。
gt; Config
动态刷新配置:
利用spring-boot-starter-actuator的refresh POST请求来刷新,POST请求体为要刷新的属性key。
更好做法是使用 spring cloud bus来实现批量刷新。
gt; Bus
消息总线。
支持amqp协议的有 rabbitmq和kafka。
架构1:通过具体实例刷新
config 整合 bus,更改配置后访问某service任意一个实例的/bus/refresh 来实现该service所有实例的配置刷新。
架构2:通过config-server刷新
gt; Stream
消息驱动,使用bingder绑定器。
发布订阅-模式
消费组
gt; Sleuth
分布式服务跟踪,分析各服务之间的调用关系。
traceID为请求链,和SpanID为请求单元。
与ELK的整合。
与zipkin整合。
1. 搭建zipkin server
@EnableZipkinServer
2. 为应用引入 zipkin 服务