当前位置: 首页 > news >正文

spring-cloud-starter-alibaba-sidecar组件介绍

spring-cloud-starter-alibaba-sidecar 是一个用来快速完美整合 Spring Cloud 与异构微服务的框架,灵感来自 spring-cloud-netflix-sidecar。

为什么要编写 Spring Cloud Alibaba Sidecar
原因有两点:
1.Spring Cloud 子项目 spring-cloud-netflix-sidecar 是可以快速整合异构微服务的。然而, 其只支持使用 Eureka 作为服务发现组件,不支持其他服务发现组件。
2.另外,其基于 Zuul 1.x ,Spring Cloud 官方明确声明,未来将会逐步淘汰 Zuul。

支持的组件
spring-cloud-starter-alibaba-sidecar 目前支持的服务发现组件:Nacos 和 Consul。

使用要求
【必须】异构微服务需使用 HTTP 通信。这一点严格来说不算要求,因为 Spring Cloud 本身就是基于 HTTP 的。

【可选】如果微服务配置了 sidecar.health-check-url ,则表示开启健康检查,此时,异构微服务需实现健康检查(可以是空实现,只要暴露一个端点,返回类似 {“status”: “UP”} 的字符串即可)。

优点:

1.接入简单,几行代码就可以将异构微服务整合到 Spring Cloud 微服务生态;
2.不侵入原代码;

缺点:

1. 每接入一个异构微服务实例,都需要额外部署一个 spring-cloud-starter-alibaba-sidecar 实例,增加了部署成本;
2. 异构微服务调用 Spring Cloud 微服务时,本质是把 spring-cloud-starter-alibaba-sidecar 当网关在使用,经过了一层转发,性能有一定下降。

使用示例

在已经创建的 Spring Boot 项目中引入如下依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId>
</dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sidecar</artifactId>
</dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

编写相关配置:

server:port: 8070
spring:cloud:nacos:discovery:server-addr: localhost:8848gateway:discovery:locator:enabled: trueapplication:name: node-service
sidecar:# 异构微服务的IPip: 127.0.0.1# 异构微服务的端口port: 8060# 异构微服务的健康检查URLhealth-check-url: http://localhost:8060/health.json
management:
endpoint:health:show-details: always

服务请求地址http://localhost:8070/node-service开头时,则会转发到具体的服务地址http://localhost:8060/。需要指出的是,原服务还是正常部署,该组件只是加了一层封装。

当需要将单机系统融合到微服务系统,或者对单机系统进行可靠性优化,亦或者对单机系统进行分布式部署等改造时,spring-cloud-starter-alibaba-sidecar组件无疑是一种参考方案。

相关文章:

  • 深入探秘Python魔法方法:解锁对象行为的神秘力量
  • 开疆智能ModbusTCP转Devicenet网关连接远程I/O配置案例
  • IP证书的申请攻略有哪些?有何作用?
  • Qt QTcpSocket的write无法发送数据【已解决】
  • TCP 网络调试工具详细设计
  • MySQL锁机制的优化和MVCC底层原理解释
  • spring(springmvc,springboot)-hibernate(jpa,mybtis)-jsp整合
  • 和为k的子数组
  • MyBatisPlus框架
  • Parasoft C++Test软件集成测试(部件测试)_操作指南
  • 【springboot组件开发】三方中间件自定义自动装载(rabbitmq/rocketmq/cmq)
  • C# 界面检测显示器移除并在可用显示器上显示
  • 图像处理 | 基于matlab的多尺度Retinex(MSR)和自适应直方图均衡化(CLAHE)算法联合的低照度图像增强(附代码)
  • NGINX 四层 SSL/TLS 支持ngx_stream_ssl_module
  • Parasoft C++Test软件集成测试(部件测试)_实例讲解
  • python在容器内克隆拉取git私有仓库
  • 【ffmpeg】将多段ts视频片段合成一个mp4
  • java操作word里的表格
  • python3如何使用QT编写基础的对话框程序
  • 智能合约的浪潮:从区块链到业务自动化的 IT 新引擎
  • 100 款软件app免费下载大全/广州seo推广服务
  • 广东哪家网站建设/百度seo优化服务
  • 新沂网站制作/图片优化是什么意思
  • 线上推广工作是做什么的/seo站长工具平台
  • 韶关做网站的/新闻最新热点
  • 中国空间站真实图片/正规推广赚佣金的平台