文章吧-经典好文章在线阅读:《Spring Cloud微服务实战》读后感1000字

当前的位置:文章吧 > 原创文章 >

《Spring Cloud微服务实战》读后感1000字

2020-10-22 02:42:28 来源:文章吧 阅读:载入中…

《Spring Cloud微服务实战》读后感1000字

  《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 服务

评价:

[匿名评论]登录注册

评论加载中……