zoukankan      html  css  js  c++  java
  • SpringCloud Alibaba

    一、微服务开发四大问题 + 四大技术点

    四大问题:

    • 这么多服务,客户端该如何去访问?
    • 这么多服务,服务之间如何进行通信?
    • 这么多服务,如何治理呢?
    • 服务挂了,怎么办?

    四大技术点:

    • API网关,服务路由 
    • HTTP, RPC框架,异步调用
    • 服务注册与发现,高可用
    • 熔断机制,服务降级 

    原文:SpringCloud - 微服务开发之 四大问题 + 四大技术点

    所以SpringCloud Netflix 和 SpringCloud Alibaba,都是用来解决这种问题的一站式分布式框架方案

    二、SpringCloud Netflix v.s. SpringCloud Alibaba

      SpringCloud Netflix SpringCloud Alibaba 我们的选择
    API网关 Zuul(停更) GateWay(Spring官方)
    HTTP,RPC框架 Feign + Ribbon Dubbo --
    服务注册/发现 Eureka(停更) Nacos Nacos
    熔断降级 Hystrix(停更) Sentinel Sentinel
    负载均衡(服务端) Ribbon(停更)   Ribbon
    声明式HTTP客户端 Feign(停更)   OpenFeign(Spring官方)
    配置中心     Nacos Nacos
    调用链监控     Sleuth(Spring官方)
    分布式事务 Seata Seata
    消息中间件 RocketMQ --

    三、为何抛弃 SpringCloud Netflix

    Spring Cloud Netflix 的部分项目停止开源,大部分项目进入了维护模式(停止更新)。进入维护模式意味着什么呢?

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

    SpringCloud的Hoxton版本,和之前的版本相比,用新的组件替换掉了原来大部分的组件,老的组件现在处于 停更不停用 的状况。

    详情见下图(× 的表示之前的组件,现在停更了的; 的表示新的替换后的组件):

     

    服务注册中心:

    Eureka:官方停止更新,并且已经有更好的替代产品了,可以使用,但是官方已经不建议使用了(重度患者)。

    Zookeeper:某些老系统,以前是用的Zookeeper + Dubbo,后来做技术升级,结果发现SpringCloud的Eureka停更了,然后就用了最少的技术切换,那么就用了Zookeeper做注册中心。

    Consul:go语言开发的,也是一个优秀的服务注册框架,但是使用量较少,风头都被Nacos抢了。

    Nacos:来自于SpringCloudAlibaba,在企业中经过了百万级注册考验的,不但可以完美替换Eureka,还能做其他组件的替换,所以强烈建议使用,是学习的重点。

    服务调用:

    Ribbon:也进入了维护状态,停止更新了,但是Spring官方还在使用(轻度患者)。

    LoadBalancer:Spring官方推出的一个新的组件,打算逐渐取代掉Ribbon,但是现在还处于萌芽状态。

    服务调用2:

    Feign:Netflix 公司产品,也停止更新了。

    OpenFeign:Spring社区等不了Netflix更新了,然后就自己做了一个组件,不用Feign了。

    服务降级:

    Hystrix:官网不推荐使用,但是中国企业中还在大规模使用。

    Resilience4J:官网推荐使用,但是国内很少用这个。

    Sentienl:来自于SpringCloudAlibaba,在中国企业替换Hystrix的组件,国内强烈建议使用。

    服务网关:

    Zuul:Netflix 公司产品,公司内部产生分歧,有的人想自己出一个Zuul2。

    Zuul2:也是Netflix 公司准备出的产品,但是由于内部分歧,所以Zuul2已经胎死腹中了。

    gateway:Spring社区自己出的网关组件,官方隆重介绍和极度推荐的网关服务组件。

    服务配置:

    Config:目前也在使用,风头被Nacos抢了。

    Nacos:来自于SpringCloudAlibaba,后来居上,把Config给替换了。

    服务总线:

    Bus:SpringCloud原生的服务总线组件,现在风头也被Nacos抢了。

    Nacos:来自于SpringCloudAlibaba,后来居上,把Bus给替换了。

    综上可以看出,Nacos 是重中之重,一个组件就替换掉了原来的几个组件。

    四、为何选择 SpringCloud Alibaba

    参考文献

    Spring Cloud Netflix项目进入维护模式 https://blog.csdn.net/u012437781/article/details/85258505

    SpringCloud组件的停更和替换说明 https://www.cnblogs.com/y3blogs/p/13276504.html

  • 相关阅读:
    怎么判断是从微信浏览器打开还是手机自带的浏览器(其他浏览器)打开?
    h5移动端页面强制横屏
    苹果的正常显示,安卓的不知道写了什么白屏了
    截取地址栏的最后一个参数
    检测手机号码的正则表达式
    js判断是不是在微信浏览器打开?
    LArea插件选中城市,确定之后又很难再次选择城市?
    display: inline-block 布局
    调试
    时间
  • 原文地址:https://www.cnblogs.com/frankcui/p/15173561.html
Copyright © 2011-2022 走看看