八、服务链路追踪在微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务参与、参与顺序,是每个请求链路清晰可见,便于问题快速定位
常用链路追踪组件有google的DApper、Twitter 的Zipkin,以及阿里Eagleeye(鹰眼)
九、微服务框架市面常用微服务框架有:Spring Cloud 、Dubbo 、kubernetes
文章插图
- 从功能模块上考虑,Dubbo缺少很多功能模块,例如网关、链路追踪等
- 从学习成本上考虑,Dubbo 版本趋于稳定,稳定完善、可以即学即用,难度简单,Spring cloud 基于Spring Boot,需要先掌握Spring Boot,例外Spring cloud 大多为英文文档,要求学习者有一定的英文阅读能力
- 从开发风格考虑,Dubbo倾向于xml的配置方式,Spring cloud 基于Spring Boot,采用基于注解和JAVABean配置方式的敏捷开发
- 从开发速度上考虑,Spring cloud 具有更高的开发和部署速度
- 从通信方式上考虑,Spring cloud 基于HTTP Restful 风格,服务于服务之间完全无关、无耦合 。Dubbo 基于远程调用,对接口、平台和语言有强依赖性,如果需要实现跨平台,需要有额外的中间件 。
十、SpringCloud常用组件
- Eureka:服务注册和发现组件
- Hystrix:熔断组件
- Ribbon:负载均衡组件
- Zuul:路由网关
- Spring Cloud Config:配置文件统一管理
- Spring Cloud Security:Spring Security组件封装,提供用户验证和权限验证,一般与Spring Security OAuth2 组一起使用,通过搭建授权服务,验证Token或者JWT这种形式对整个微服务系统进行安全验证
- Spring Cloud Sleuth:分布式链路追踪组件,他分封装了Dapper、Zipkin、Kibana 的组件
- Spring Cloud Stream:Spring Cloud框架的数据流操作包,可以封装RabbitMq,ActiveMq,Kafka,redis等消息组件,利用Spring Cloud Stream可以实现消息的接收和发送
文章插图
Spring Cloud Netflix功能:
- 服务发现:可以注册Eureka实例,并且客户端可以使用Spring托管的Bean发现实例
- 服务发现:可以使用声明性Java配置创建嵌入式Eureka服务器
- 断路器:Hystrix客户端可以使用简单的注释驱动的方法装饰器构建
- 断路器:具有声明性Java配置的嵌入式Hystrix仪表板
- 声明式REST客户端:Feign创建一个用JAX-RS或Spring MVC注释修饰的接口的动态实现 。
- 客户端负载均衡器:功能区
- 外部配置:从Spring Environment到Archaius的桥梁(使用Spring Boot约定启用Netflix组件的本机配置)
- 路由器和过滤器:Zuul过滤器的自动重新注册,以及用于反向代理创建的简单配置约定
推荐阅读
- 新燃气灶打不着火怎么办,新燃气灶不好打火什么原因
- 露台漏水归物业还是业主,露台漏水怎么彻底解决
- 有暖气的卫生间还需要浴霸吗,浴霸用风暖好还是灯暖好
- 原木门开裂正常吗,木门裂缝用什么材料修补
- 冰箱冷藏室结冰和封条有关吗,冰箱冷藏室结冰是封条的问题吗
- 便秘吃什么 缓解便秘的四个食疗药膳
- 吃什么补血 气血不足的3大调理“食机”
- 吃什么对眼睛好 老人眼睛八种对症食疗
- 春季吃什么 春季八款养生大美食
- 怎样预防流感 春季预防流感的九款药膳