《Spring Cloud微服务实战》读书笔记

一、读后感

《Spring Cloud微服务实战》这本书可以说是Spring Cloud的实用工具书,书中对每个组件都有例子讲解、源码分析、配置详解,既适合实操搭建微服务,也可以洞察其中的原理。Spring Cloud是微服务的综合解决方案,我们从它的多组件构成可以看出,每个组件都有各自的功能定位,可以单独使用作为一个应用服务,也能自由组合使用。

二、Spring Cloud Eureka

服务治理组件,作为服务的注册中心,负责实例的注册与发现。可以理解成它登记了所有分布式实例的信息,谁要访问的某个实例话直接向注册中心询问这个实例的ip、端口等信息。

三、Spring Cloud Ribbon

Ribbon是基于HTTP和TCP的客户端负载均衡器,一般结合Eureka使用,可以搭建一个Ribbon组件作为注册中心的消费者,其从注册中心获取到所有实例的信息,然后通过负载均衡对外提供访问这些实例的接口。

通常使用@LoanBalanced注解标记负载均衡,有多种负载均衡策略。

四、Spring Cloud Hystrix

Hystrix作为断路器,提供了很好的熔断保护机制。断路器使用了命令模式,但我觉得书本讲解不够明了,看完还是较模糊,应该是原理这块讲得太散了,太急着分析源码了。

Hystrix具有请求合并器的功能,可以批量获取访问结果,再分开返回给每个请求链路,解决了并发线程池不足,网络资源不足导致的延迟,但缺点是合并会有延迟执行。

其结合dashboard和turbine可以监控集群的熔断数、失败/异常数、熔断器状态、延迟统计、请求频率等。

五、Spring Cloud Feign

Feign是Ribbon和Hystrix的集成,要复制或者继承接口代码,感觉侵入性太强,不实用。

六、Spring Cloud Zuul

Zuul是网关服务、前置系统,作为系统的统一入口。具有负载均衡路由转发,请求过滤两个基本功能。一般这里做权限校验,避免每个组件都去写一遍同样的校验逻辑。实现了权限校验与业务逻辑解耦。

其与Config服务组合可以动态刷新路由。与Groovy组合实现动态过滤器,不过功能不成熟。

七、Spring Cloud Config

Config是配置中心,集成了git和svn做配置的版本管理。可集成Eureka做服务治理,集成Actuator做在找更新。

八、Spring Cloud Bus

Bus是消息总线,集成了消息中间件rabbitmq和kafka,负责集群的消息收发。通过消息总线,集群的所有组件可以统一响应某个消息通知,也可以设置特定实例响应。

九、Spring Cloud Sleuth

Sleuth是分布式服务跟踪,通过收集日志信息能够获取请求链路在各个阶段的延时信息。

与logstash整合,收集日志,ELK平台(ElasticSearch搜索,Logstash存储,Kibana页面展示)。

整合Zipkin,可以看到请求的在各阶段的耗时以及分布式组件依赖关系。ZipKin默认保存跟踪信息到内存,也可以放到MySQL,ElasticSearch,Cassandra。

十、Spring Cloud Stream

Stream是消息驱动框架,实现了RabbitMQ和Kafka的自动化配置,其实就是把消息中间件的功能以注解或者接口的形式集成进来,做了一些对象类型的自动转换。这里使用起来有一定的学习成本,感觉还不如单独调用消息中间件的功能方便。

转载于:https://my.oschina.net/chenzanjin/blog/3057550

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值