论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
虚拟化.超融合.云计算
›
虚拟化与私有云
›
Spring Boot 单体应用一键升级成 Spring Cloud Alibaba ...
Spring Boot 单体应用一键升级成 Spring Cloud Alibaba
农妇山泉一亩田
金牌会员
|
2024-6-13 10:35:44
|
显示全部楼层
|
阅读模式
楼主
主题
666
|
帖子
666
|
积分
1998
配景
随着 Apache Dubbo、Nacos 以及 Spring Cloud 等服务框架的盛行,越来越多的企业开始接纳微服务架构来构建其应用程序。微服务架构使企业能够将其应用程序拆分成多个小型服务,这些服务可以独立部署和扩展。这种架构模式也使企业更容易实现敏捷开发和持续交付,从而进步了其业务服从和响应本领。
微服务四大件:注册中心、服务提供者、服务消耗者、服务治理
如今,随着服务提供者、服务消耗者、服务注册中心以及服务治理等微服务几大件的出现和成熟,使得我们使用微服务开发,不仅可以做到快速开发,更能够追求微服务的高效和稳固。
单体 or 微服务?
从上图我们可以看到,随着业务规模的增大,选择单体架构与微服务架构的选择趋势,他们之间存在一个交点。在交点之后,选择微服务架构,业务规模越大越可以享受到微服务架构带来的服从的提升。我们可以观察到,这个交点在持续地向左移动。数字化历程的快速发展广泛让企业的 IT 体系更复杂,开源以及云盘算推进的技能尺度化,正在大幅度地降低微服务架构的技能门槛,在云上小公司也可以很好地玩转微服务。随着这个趋势的到来,还在使用单体架构的企业也渐渐思量向微服务转型。我们发如今云上大部分 Java 应用仍旧是基于 SpringBoot 的,Spring Boot 应用由于其架构实现的简单性,客户端只需通过 http 和域名就能实现服务调用。因此,许多中小型公司仍旧接纳该方式举行应用开发。从技能角度上看,我们怎样升级 SpringBoot 应用至微服务架构,享受到微服务治理带来的技能红利,我们需要增加 SpringCloud 的 maven 依赖?需要业务举行代码改造?本文可以答复你,不需要一行代码改动。
本方案可以通过 MSE 无侵入实现 Java 应用的注册、发现与治理本领。
当前 MSE 提供的注册中心产物本领告急集中在非持久化服务发现,即服务的状态维护在 client,需要业务方依赖 SDK 自动注册服务,并维持心跳;本方案提供了一种的持久化服务发现本领。
办理跨平台服务发现问题,如跨 K8s 服务发现、非 K8s 服务和 K8s 服务互相发现等。
无侵入实现基于 Spring Boot 应用的服务治理本领,如全链路灰度、限流降级、安全可信等。
方案实践与探索
为了验证该场景,我们提供了一个稍微比较复杂的Demo,通过该 Demo 来分别演示怎样通过 MSE 无侵入实现 Spring Boot 应用的服务注册与服务治理。Demo 是根据 K8s Service 举行服务发现并且通过简单的 HttpClient 举行请求调用,详细请求如下:
➜ ~ curl http://47.97.117.48/A/spring_boot
A[10.0.3.238] -> B[10.0.3.227] -> C[10.0.3.230]%
复制代码
架构如下所示:
介绍完 Demo 之后,我们来逐步演示怎样通过服务治理举行服务注册。
通过服务治理完成服务注册
1. 进入到对应的 MSE Nacos 实例页面,选择创建服务
2. 我们填写好服务名、分组名之后,可以选择一个服务治理的应用举行注册
3. 开启了健康检查本领后,我们还可以选择健康检查的协议
4. 点击确定后,我们就实现了通过服务治理方式注册应用与实例至 MSE Nacos 中
5. 根据下图设置,我们分别将 A 应用注册成 sc-A、B 应用注册成 sc-b、C 应用注册成 sc-c
6. 同时我们修改 Zuul 应用的 Nacos 地址设置,使其通过 SDK 方式注册至 MSE Nacos 中
7. 我们通过服务治理方式注册的服务,我们还可以通过服务治理方式将对应的节点从 MSE Nacos 中下线
8.点击 MSE 服务治理中节点详情页面的服务下线,在不消重启应用 pod 的条件下,实现服务从注册中心中下线
到目前为止,我们完成了通过服务治理实现服务注册。
通过服务治理完成服务订阅
1. 我们在需要订阅 Nacos 服务的应用中增加如下 Env
2. 怎样订阅对应的服务?
我们 Http 请求域名直接调用对应的服务即可,好比:
restTemplate.getForObject("http://sc-b:20002/spring_boot", String.class);
复制代码
其中 sc-b 为服务名,默认的分组名可以通过 mse_nacos_group 指定,假如需要指定分组名可以调用 http://sc-b:20002/spring_boot?mse_nacos_group=xxx 即可。
3. 验证
a.通过 MSE Nacos 控制台可以验证,明白订阅关系
b.通过端到端请求验证
➜ ~ curl http://47.97.117.48/A/spring_bootA[10.0.3.238] -> B[10.0.3.229] -> C[10.0.3.241]%
复制代码
无侵入实现基于 SpringBoot 应用的全链路灰度
到目前为止,我们默认就具备了符合如上场景的全链路灰度本领。
➜ ~ curl http://47.97.117.48/A/spring_boot -H "x-mse-tag: gray"
Agray[10.0.3.240] -> B[10.0.3.229] -> Cgray[10.0.3.241]%
复制代码
总结
使用 Spring Boot 应用一样可以快速享受到全链路灰度本领带来的发布体验。我们通过MSE 服务治理本领与Nacos引擎的整合,可以进一步简化与降低研发在云上需要关注的部分,应用的客户端可以再轻量化,进一步提升研发服从。
作者:十眠
原文链接
本文为阿里云原创内容,未经允许不得转载。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
农妇山泉一亩田
金牌会员
这个人很懒什么都没写!
楼主热帖
厉害了,腾讯云云巢荣获信通院“云原生 ...
2022 春节抖音视频红包系统设计与实现 ...
原型设计工具比较及实践--滴爱音乐 ...
OpenHarmony和HarmonyOS有什么区别?这 ...
体系集成商已死,有事烧纸:浙江着名集 ...
Kafka原理介绍+安装+基本操作(kafka o ...
【Redis高手修炼之路】②Redis的五大数 ...
XSS和CSRF漏洞
matplotlib画图基础知识
SpringCloud Alibaba(八) - Durid,Spri ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表