博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Spring Cloud微服务实战》读书笔记
阅读量:7108 次
发布时间:2019-06-28

本文共 1502 字,大约阅读时间需要 5 分钟。

hot3.png

一、读后感

《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

你可能感兴趣的文章
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Lexus Extroic OpenCart 2.X 自适应主题模板 ABC-0648-01
查看>>
awk案例
查看>>
linux中vmstat命令详解
查看>>
软件测试基础知识整理三----白盒测试
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
查看>>
linux网卡操作命令 ,查看Linux下网卡连接状态(up还是down)?
查看>>
CCNP学习之路之RSTP快速生成树协议
查看>>
yum安装与源码安装比较
查看>>
【C语言】第一个C语言小程序 —— 日期算法和万年历
查看>>
《高性能MySQL》學習筆記--索引
查看>>
BZOJ4894:天赋(矩阵树定理)
查看>>
Linux自动执行sh脚本
查看>>
转:消息队列
查看>>
Ansible
查看>>
软件测试Lab2 Selenium及自动化测试
查看>>
ubuntu配置lamp运行环境笔记
查看>>
Redis 数据库结构设计
查看>>