springcouldalibaba5大组件

曂沅仴駦  论坛元老 | 2025-4-6 14:14:56 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1713|帖子 1713|积分 5139

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
springcouldalibaba5大组件

Spring Cloud Alibaba 简介

Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务办理方案,基于 Spring Cloud 框架,集成了阿里巴巴的分布式中间件技术。它通过简单的注解和少量设置,就能将 Spring Cloud 应用连接到阿里巴巴的分布式办理方案中。以下是其五大核心组件:


  • Nacos(服务注册与设置中央)
  • Sentinel(流量控制与服务降级)
  • Seata(分布式变乱)
  • RocketMQ(分布式消息系统)
  • Dubbo(RPC 服务调用)
1. Nacos(服务注册与设置中央)

功能:



  • 服务注册与发现:Nacos 提供服务注册和发现功能,替代传统的 Eureka 或 Zookeeper,支持动态服务列表刷新和负载均衡。
  • 设置管理:作为分布式设置中央,支持设置的动态更新,无需重启应用即可生效。
特点:



  • 支持多种协议(如 HTTP 和 gRPC)。
  • 提供控制台,可视化管理服务和设置。
  • 高可用,支持集群摆设。
使用场景:



  • 微服务架构中服务注册与发现。
  • 动态设置管理,如调整日记级别、开关功能。
示例:

  1. spring:
  2.   cloud:
  3.     nacos:
  4.       discovery:
  5.         server-addr: 127.0.0.1:8848
  6.       config:
  7.         server-addr: 127.0.0.1:8848
复制代码
2. Sentinel(流量控制与服务降级)

功能:



  • 流量控制:限制哀求速率,防止系统过载。
  • 熔断降级:当服务不可用时,快速失败或降级处置惩罚。
  • 系统保护:根据系统负载自适应调整流量。
特点:



  • 提供实时监控仪表盘,可动态调整规则。
  • 支持多种限流策略(如 QPS、线程数)。
  • 与 Spring Cloud 无缝集成,支持 Feign、RestTemplate 等。
使用场景:



  • 高并发场景下的流量控制。
  • 服务故障时的熔断保护。
示例:

  1. @SentinelResource(value = "resourceName", fallback = "fallbackMethod")
  2. public String sayHello() {
  3.     return "Hello, Sentinel!";
  4. }
  5. public String fallbackMethod() {
  6.     return "Fallback due to Sentinel!";
  7. }
复制代码
3. Seata(分布式变乱)

功能:

提供分布式变乱办理方案,确保跨服务的数据同等性。
支持 AT(自动补偿)、TCC(Try-Confirm-Cancel)、SAGA 等模式。
特点:

高性能,基于无侵入计划。
支持与 MySQL、PostgreSQL 等数据库集成。
提供全局变乱管理器(TC)和变乱到场者(RM、TM)。
使用场景:

跨微服务的订单处置惩罚、支付系统。
需要强同等性的业务场景。
示例:

  1. @GlobalTransactional
  2. public void createOrder(Order order) {
  3.     orderService.save(order);
  4.     paymentService.pay(order);
  5. }
复制代码
4. RocketMQ(分布式消息系统)

功能:



  • 高性能分布式消息队列,支持发布/订阅模子。
  • 提供变乱消息、定时消息、顺序消息等功能。
特点:



  • 与 Spring Cloud Stream 集成,支持变乱驱动架构。
  • 高吞吐量,颠末阿里巴巴双十一验证。
  • 支持分布式摆设和高可用。
使用场景:



  • 异步解耦,如订单状态关照。
  • 变乱驱动微服务架构。
示例:

  1. @RocketMQMessageListener(topic = "test-topic", consumerGroup = "test-group")
  2. public class MessageConsumer implements RocketMQListener<String> {
  3.     @Override
  4.     public void onMessage(String message) {
  5.         System.out.println("Received: " + message);
  6.     }
  7. }
复制代码
5. Dubbo(RPC 服务调用)

功能:



  • 高性能 RPC 框架,用于服务间通信。
  • 支持服务治理功能,如负载均衡、路由策略。
特点:



  • 与 Spring Cloud 集成,扩展了 RestTemplate 和 Feign 的调用能力。
  • 支持多种协议(如 Dubbo 协议、HTTP)。
  • 提供服务注册与发现(结合 Nacos)。
使用场景:



  • 高性能服务间调用。
  • 异构系统集成。
示例:

  1. @DubboReference(version = "1.0.0")
  2. private HelloService helloService;
  3. public String sayHello() {
  4.     return helloService.sayHello("World");
  5. }
复制代码
五大组件的协同工作



  • Nacos 作为服务注册和设置中央,管理所有微服务的元数据和设置。
  • Sentinel 保护服务稳固性,防止雪崩效应。
  • Seata 确保分布式变乱的同等性。
  • RocketMQ 实现异步通信和变乱驱动。
  • Dubbo 提供高效的服务调用能力。
    这些组件共同构成了 Spring Cloud Alibaba 的微服务生态,覆盖了服务注册、流量控制、变乱管理、消息传递和远程调用的核心需求。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曂沅仴駦

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表