-
开源组件
- Nacos:发现、配置和管理微服务,相当于 Eureka/Consule + Config + Admin;
- Dubbo
- Java RPC,远程服务调用,相当于 Ribbon + Feign;
- 使用 @DubboTransported 注解可将底层的 Rest 协议无缝切换成 Dubbo RPC 协议,进行 RPC 调用;
- Sentinel
- 限流、降级、熔断等,相当于 Hystrix + Dashboard + Turbine;
- 默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入;
- 支持查看限流降级 Metrics 监控;
- Seata
- 分布式事务,使用 @GlobalTransactional 注解,在微服务中传递事务上下文,可以对业务零侵入地解决分布式事务问题;
- RocketMQ
- 分布式消息系统,相当于 RabbitMQ;
- 仓库地址:https://github.com/apache/rocketmq;
- 各种插件地址:https://github.com/apache/rocketmq-externals;
-
商业组件
-
- Alibaba Cloud ACM:配置中心;
- Alibaba Cloud OSS: Object Storage Service,阿里云对象存储服务;
- Alibaba Cloud SchedulerX: 任务调度,相当于 Quartz;
- Alibaba Cloud SMS: 覆盖全球的短信服务;
-
Nacos简介
- Nacos 致力于帮助您发现、配置和管理微服务;
- Service 是 Nacos 世界的一等公民,支持几乎所有主流类型的服务:
- Kubernetes Service
- gRPC & Dubbo RPC Service
- Spring Cloud RESTful Service
- 特性
- 服务发现和服务健康监测;
- 动态服务配置;
- 动态 DNS 服务;
- 服务及元数据管理;
- 地图
-
应用
- 命名空间
- 用于区分不同的部署环境,实现隔离,不同的命名空间逻辑上是隔离的,其主要作用是区分服务使用的范围,比如开发、测试、生产、灰度四个命名空间来互相隔离;
- 配置管理
- 发布配置
- curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"
- 获取配置
- curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
- 发布配置
- 服务管理
- 服务注册
- curl -X POST "http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=springBoot&ip=127.0.0.1&port=80"
- 服务发现
- curl -X GET "http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=springBoot"
- 服务注册
- 命名空间