Spring Cloud Netflix项目进入维护模式

今天照惯例去Spring Cloud 官方BLOG逛逛,发现了不一样的东西:传送门
Spring Cloud Netflix项目进入维护模式_第1张图片
大概意思就是Spring Cloud Netflix 的大部分项目将进入维护模式。

我们知道Netflix是Spring Cloud 微服务架构的核心组件,它包含了服务注册与发现(Eureka),服务高可用(Archaius、Hystrix、Ribbon、Zuul、Turbine等)。如此一来Spring Cloud Netflix降级70-80%的项目都将进入维护模式。

进入维护模式意味着什么呢?

  • 进入维护模式意味着Spring Cloud Netflix 将不再开发新的组件了。
    我们都知道Spring Cloud 版本迭代算是比较快的,因而出现了很多重大ISSUE都还来不及Fix就又推另一个Release了。进入维护模式意思就是目前一直以后一段时间Spring Cloud Netflix提供的服务和功能就这么多了,不在开发新的组件和功能了。以后将以维护和Merge分支Full Request为主。

  • 新组件功能将以其他替代平代替的方式实现
    Spring Cloud Netflix项目进入维护模式_第2张图片
    同时Spring Cloud Netflix进入维护模式之后,Spring Cloud 官方也在积极孵化其他替代品,以满足Spring Cloud 版本迭代需求,如上便是Pivotal Spring Cloud 给出替代品:

    • Hystrix 可以被 Resilience4j 替代
      Hystrix的替代Resilience4j:目前在spring-cloud-circuitbreaker 中孵化。该项目原名叫spring-cloud-r4j ,最近改名为spring-cloud-circuitbreaker 。

      Spring是要抽象一个断路器的统一规范,让不同的断路器实现去实现,从而实现相同的注解(例如EnableCircuitBreaker ,然后不同的实现,诸如Hystrix、Resilience4j、Sentinel等想要接入只需更换不同的starter依赖,使用则完全一样),不过由于尚未孵化完毕,代码也比较新,暂时只是猜想。

    • Hystrix Dashboard/Tubine 可以被 Micrometer + Monitoring System 替代
      Hystrix Dashboard /Turbine的替代:由于官方建议用Resilience4j替代Hystrix,所以你再也不需要Hystrix的那一堆监控轮子了!Resilience4j自带整合了Micrometer.

      曾记否,你为了Hystrix的监控,得搞Hystrix Dashboard;为了监控微服务集群实例,又得搭Turbine;微服务整合Turbine又有HTTP方式&MQ方式,两种方式还不能共存,不能兼容……无比蛋疼!

      Micrometer是Pivotal公司(也就是Spring所在的公司)开源的监控门面,类似于监控世界的Slf4j;它可以和各种监控系统/监控画板/时序数据库配合使用,诸如:Graphite、Influx、Ganglia、Prometheus等等。

      Micrometer官网:http://micrometer.io/

      Spring Boot 2中的Spring Boot Actuator底层用的就是Micrometer——这意味着,如果你用Resilience4j,监控的体验和Actuator是一致的!

    • Ribbon 可以被 Spring Cloud Loadbalancer 替代

      Ribbon的替代Spring Cloud Loadbalancer :之前spring-cloud-loadbalancer 在spring-cloud-loadbalancer 项目中孵化,现在,该项目已经成为spring-cloud-commons 的子项目了。使用上,spring-cloud-loadbalancer 和Ribbon区别不大。

    • Zuul 可以被 Spring Cloud Gateway替代

      Zuul 1的替代Spring Cloud Gateway:这个基本玩Spring Cloud的都知道。由于Zuul持续跳票1年多,Spring Cloud索性开发了Spring Cloud Gateway。

      关于在网关这块使用Zuul 还是Spring Cloud Gateway,这是个开放性话题。就适用性和性能而言个人推荐使用Spring Cloud Gateway

    • Archaius 1 可以被 Spring Boot external config + Spring Cloud Config 替代

      Archaius 1的替代Spring Boot external config + Spring Cloud Config:众所周知,Spring Cloud有N多组件,N多N多配置属性(1000+),其中很多配置是不给提示的。原因在于Spring Boot/Cloud的配置需要借助spring-boot-configuration-processor 读取代码的注释,并生成metadata.json文件才能有提示。而Netflix开源的组件(例如Ribbon/Hystrix等)都没有使用Spring Boot的规范,而是自己用Archaius管理配置(那代码风格,个人很不喜欢),根本没有metadata.json文件,于是这部分配置IDE无法给你提示。以后全面废弃Archaius,统一使用Spring Boot external config + Spring Cloud Config,这意味着未来Spring Boot的编程体验更加统一的同时,配置提示还杠杠的。

  • 此前Alibaba 也宣布了入驻Spring Cloud 孵化器,现在Netflix 又宣布进入维护模式。随着时间的推移我相信Spring Cloud 将会加入更多更优秀的组件,不仅在功能上提供稳定强大的服务,在选择上也会提供更多的解决方案以满足现代化IT场景需求的。

  • 了解一下Spring Cloud 提供的解决方案与替代品,以便我们更好地做出选择。
    Spring Cloud Netflix项目进入维护模式_第3张图片

你可能感兴趣的:(SpringCloud)