How to solve the lossless offline problem of Spring Cloud Alibaba service instance in Kubernetes

  • 现象
  • 原因
  • EDAS
    • 无损下线
  • MSE
    • 无损下线
  • Dubbo QOS
  • dubbo-spring-boot-actuator
  • 现象
  • 原因
  • EDAS
    • 无损下线
  • MSE
    • 无损下线
  • Dubbo QOS
  • dubbo-spring-boot-actuator

现象

有两个服务,A为服务提供者,B为服务消费者,调用关系如下图所示。

现在部署服务A的两个实例,分别为A1、A2,部署服务B的两个实例分别为B1、B2,消费关系如下图所示。


这个时候,如果服务实例B1宕机,服务实例A1、A2将消费不到实例B1。


我们期望系统能够自动将路由切换到B2上,如下图所示。

这个时候,如果再开启一个服务B的实例B3,我们期望A1、A2都能消费服务实例B3,如下图所示。

最后,我们将服务实例B1所持有的资源释放。

这是在分布式环境中比较常规的服务消费场景。最近在我们发现在Kubernetes环境中,以Spring Cloud Alibaba技术栈构建的服务集中,服务实例B1宕机以后,A1、A2在某些时不能自动切换为只消费B2,当B3加入后,A1、A2也不能正常消费B3。

原因

EDAS

https://help.aliyun.com/document_detail/42934.html

企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的云原生PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持Spring Cloud和Apache Dubbo(以下简称Dubbo)等微服务运行环境,助力您的应用轻松上云。

样例

https://github.com/aliyun/alibabacloud-microservice-demo

无损下线

https://help.aliyun.com/document_detail/131248.html

开源Dubbo可以通过shutdownHook和QoS实现,不仅有一定的开发工作量,而且对Dubbo有版本要求,还有一些遗留问题,最终影响正常使用。

EDAS将无损下线的流程整合在发布流程中,对ECS集群或K8s集群中的应用进行停止、部署、回滚、缩容、重置等操作时,无损下线会自动执行。您无需对应用或在EDAS控制台进行任何关于无损下线的操作,而且没有流量损失。

MSE

https://help.aliyun.com/document_detail/126761.html

微服务引擎MSE(Microservice Engine)是一个面向业界主流开源微服务框架Spring Cloud和Dubbo的一站式微服务平台,提供治理中心、微服务网关、托管的注册中心和托管的配置中心。

无损下线

https://help.aliyun.com/document_detail/170460.html

开源Dubbo可以通过shutdownHook和QoS实现无损下线,不仅有一定的开发工作量,而且对Dubbo有版本要求,还有一些遗留问题,最终影响正常使用。

MSE治理中心将无损下线的流程整合在发布流程中,对ECS集群或K8s集群中的应用进行停止、部署、回滚、缩容、重置等操作时,无损下线会自动执行。您无需对应用或在MSE治理中心控制台进行任何关于无损下线的操作,而且没有流量损失。

Dubbo QOS

https://dubbo.apache.org/zh/docs/v2.7/user/references/qos/

Quality of Service 服务质量

dubbo-spring-boot-actuator

现象

有两个服务,A为服务提供者,B为服务消费者,调用关系如下图所示。

现在部署服务A的两个实例,分别为A1、A2,部署服务B的两个实例分别为B1、B2,消费关系如下图所示。


这个时候,如果服务实例B1宕机,服务实例A1、A2将消费不到实例B1。


我们期望系统能够自动将路由切换到B2上,如下图所示。

这个时候,如果再开启一个服务B的实例B3,我们期望A1、A2都能消费服务实例B3,如下图所示。

最后,我们将服务实例B1所持有的资源释放。

这是在分布式环境中比较常规的服务消费场景。最近在我们发现在Kubernetes环境中,以Spring Cloud Alibaba技术栈构建的服务集中,服务实例B1宕机以后,A1、A2在某些时不能自动切换为只消费B2,当B3加入后,A1、A2也不能正常消费B3。

原因

EDAS

https://help.aliyun.com/document_detail/42934.html

企业级分布式应用服务EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的云原生PaaS平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持Spring Cloud和Apache Dubbo(以下简称Dubbo)等微服务运行环境,助力您的应用轻松上云。

样例

https://github.com/aliyun/alibabacloud-microservice-demo

无损下线

https://help.aliyun.com/document_detail/131248.html

开源Dubbo可以通过shutdownHook和QoS实现,不仅有一定的开发工作量,而且对Dubbo有版本要求,还有一些遗留问题,最终影响正常使用。

EDAS将无损下线的流程整合在发布流程中,对ECS集群或K8s集群中的应用进行停止、部署、回滚、缩容、重置等操作时,无损下线会自动执行。您无需对应用或在EDAS控制台进行任何关于无损下线的操作,而且没有流量损失。

MSE

https://help.aliyun.com/document_detail/126761.html

微服务引擎MSE(Microservice Engine)是一个面向业界主流开源微服务框架Spring Cloud和Dubbo的一站式微服务平台,提供治理中心、微服务网关、托管的注册中心和托管的配置中心。

无损下线

https://help.aliyun.com/document_detail/170460.html

开源Dubbo可以通过shutdownHook和QoS实现无损下线,不仅有一定的开发工作量,而且对Dubbo有版本要求,还有一些遗留问题,最终影响正常使用。

MSE治理中心将无损下线的流程整合在发布流程中,对ECS集群或K8s集群中的应用进行停止、部署、回滚、缩容、重置等操作时,无损下线会自动执行。您无需对应用或在MSE治理中心控制台进行任何关于无损下线的操作,而且没有流量损失。

Dubbo QOS

https://dubbo.apache.org/zh/docs/v2.7/user/references/qos/

Quality of Service 服务质量

dubbo-spring-boot-actuator

https://github.com/apache/dubbo-spring-boot-project/tree/master/dubbo-spring-boot-actuator

提供一个与Spring boot一致的Dubbo级的系统内省机制工具,方便运维平台对Dubbo服务实现运行监测、管理的基础库。

项目中要将如下内容添加到项目pom.xml中

<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-actuator</artifactId><version>2.7.4.1</version>
</dependency>

提供一个与Spring boot一致的Dubbo级的系统内省机制工具,方便运维平台对Dubbo服务实现运行监测、管理的基础库。

项目中要将如下内容添加到项目pom.xml中

<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-actuator</artifactId><version>2.7.4.1</version>
</dependency>

How to solve the lossless offline problem of Spring Cloud Alibaba service instance in Kubernetes相关推荐

  1. Solve one floodlight install problem

    参考: Floodlight安装 SDNLAB Floodlight官网 Installation Guide 问题: 在follow安装教程安装Floodlight的过程中,ant编译时出现了: [ ...

  2. Deep Reinforcement Learning Approach to Solve Dynamic Vehicle Routing Problem with Stochastic Custom

    摘要 在现实的城市物流运作中,路线和任务的变化是对动态事件的响应.为了确保消费者的需求得到满足,规划者需要快速(有时是瞬间)做出这些改变.本文提出了一个带时间窗的动态车辆路径问题,它是一个基于路径的马 ...

  3. 谷粒商城分布式基础篇1-个人版

    基础篇 1 项目简介 1.1 项目背景 1.2 电商模式 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O 1.2.1 B2B 模式 B2B(Business to Business ...

  4. 从前慢-谷粒商城篇章1

    分布式基础篇 1 项目简介 1.1 项目背景 1.2 电商模式 市面上有5种常见的电商模式 B2B.B2C.C2B.C2C.O2O 1.2.1 B2B 模式 B2B(Business to Busin ...

  5. Nacos离GA更进一步:0.9.0发布

    点击蓝色"程序猿DD"关注我哟 来源:阿里巴巴中间件 2月28日,Nacos 发布 0.9.0 版本,该版本主要更新了以下内容: - 加强了 Nacos-Sync 稳定性 - 增加 ...

  6. 自动打包+ios+android,使用 python 自动打包 Android 和 iOS

    大端模式 VS 小端模式 简单点说,就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了.注意字节序是硬件层面的东西,对于 ...

  7. 云原生时代,微服务如何演进?

    简介:云原生时代,微服务和云原生会产生怎样的关系?云原生时代的微服务又有什么特点?当前有哪些比较活跃的微服务项目?阿里巴巴资深技术专家李响从微服务的生命周期.流量治理.编程模型以及可信安全4个方面,分 ...

  8. 服务迁移之路 | Spring Cloud向Service Mesh转变 | 技术干货

    戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作者: 李宁 转自:博云技术社区 Sp ...

  9. 微服务落地,我们在考虑什么?| 技术头条

    戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 作者:李宁 转自: 博云技术社区 导读 ...

最新文章

  1. 一个简单的socket程序-linux
  2. Waymo起诉加州车管所,要求对无人车事故数据保密,网友:这事怕不是和特斯拉有关...
  3. 树莓派都能做脑机接口了?实时处理8个电极信号,人人用得起 | 开源
  4. Python环境出现模块找不到
  5. python基础(part17)--函数式编程
  6. rm: cannot remove `.user.ini‘: Operation not permitted异常该如何解决?
  7. JSON 之 SuperObject(3): 访问
  8. 美区id无法登陆解决方法
  9. Matlab里fprintf个人理解(fprintf、display、%f、%f\n)
  10. zlib deflate gzip区别
  11. BZOJ 2563: 阿狸和桃子的游戏
  12. css编程设置网页背景,网页中cssbackground背景图和背景颜色的设置方法
  13. PHP 之道中文简体版
  14. 冠词 article
  15. 2017鸡年女宝宝名字大全,来给你的女宝宝找个好名字
  16. 2022年同花顺Java面试
  17. Lightroom Classic 教程:如何在 Lightroom 中使用预设更改照片的外观?
  18. AI文档批量翻译软件,URL采集翻译发布
  19. 2022电工(初级)操作证考试题及答案
  20. 时间管理(李葆春教授,2022.8.17)

热门文章

  1. 用计算机牙模,人类恒牙的计算机三维建模
  2. 解决IDEA-not allow to run in parallel
  3. python取出数组大于某值_Python替换NumPy数组中大于某个值的所有元素实例
  4. 一文讲清:对象存储、文件存储、块存储。绝对好文
  5. 小米手机访问电脑共享文件_小米手机不用数据线直接访问电脑上的文件的方法...
  6. 学蓝桥Chapter6:矩阵键盘KBD练习
  7. Spring Cloud 异常“ Caused by: java.net.UnknownHostException: discovery.host ”
  8. 如何只用三步就能快速写一个网页
  9. 种植牙术后的注意事项
  10. 智和网管工业交换机网管方案