官方简介:
Spring Cloud Alibaba为分布式应用程序开发提供了一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松使用Spring Cloud开发应用程序。
使用Spring Cloud Alibaba,您只需要添加一些注释和少量配置即可将Spring Cloud应用程序连接到Alibaba的分布式解决方案,并使用Alibaba中间件构建分布式应用程序系统。
springcloudH版本后级替代产品
SpringCloud升级 | |||||||
服务注册中心 | 服务调用 | 服务降级 | 服务网关 | 服务配置 | 服务总线 | 状态 | |
Eureka | Ribbon | Feign | Hystrix | zuul | config | Bus | 停止更新,自修复严重bug,不在发布请版本, |
zookeeper | LoadBalancer | OpenFeign | resilience4j | Zuul2(未发布 ) | Nacos | Nacos | 可替代产品 |
consul | sentienl | gateway | |||||
Nacos |
官方网址:http://nacos.io
特征
- 流量控制和服务降级:使用阿里巴巴前哨进行流量控制,断路和系统自适应保护
- 服务注册和发现:实例可以在Alibaba Nacos上注册,客户可以使用Spring管理的bean发现实例。通过Spring Cloud Netflix支持Ribbon(客户端负载均衡器)
- 分布式配置:使用阿里巴巴Nacos作为数据存储
- 事件驱动:构建与Spring Cloud Stream RocketMQ Binder 连接的高度可扩展的事件驱动微服务
- 消息总线:使用Spring Cloud Bus RocketMQ链接分布式系统的节点
- 分布式事务:支持高性能,易于使用的Seata分布式事务解决方案
- Dubbo RPC:通过Apache Dubbo RPC扩展Spring Cloud服务间调用的通信协议
为什么要选Nacos
服务注册与发现框架 | CAP模型 | 控制台管理 | 维护活跃度 |
Eureka | AP | 支持 | 低(已闭源) |
Zookeeper | CP | 不支持 | 中 |
Consul | CP | 支持 | 高 |
Nacos | AP | 支持 | 高 |
注:
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
SpringCloud升级简介到此为止了,接下来咱们体验Nacos
一、搭建Nacos服务端
git地址:https://github.com/alibaba/nacos/releases 最新版本为1.3.2
目录结构:
服务启动:
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:
bash startup.sh -m standalone
Windows
启动命令:
cmd startup.cmd
或者双击startup.cmd运行文件。
访问地址:http://127.0.0.1:88848/nacos
用户名及密码:nacos/nacos