论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
Jarslink 是一个 SOFA 方舟插件,用于管理多应用部署 ...
Jarslink 是一个 SOFA 方舟插件,用于管理多应用部署
反转基因福娃
论坛元老
|
2025-3-23 21:29:48
|
显示全部楼层
|
阅读模式
楼主
主题
1816
|
帖子
1816
|
积分
5448
前言
大家好,我是老马。
sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。
最近想学习一下 SOFA 对于生态的设计和思索。
sofaboot 系列
SOFABoot-00-sofaboot 概览
SOFABoot-01-蚂蚁金服开源的 sofaboot 是什么黑科技?
SOFABoot-02-模块化隔离方案
SOFABoot-03-sofaboot 介绍
SOFABoot-04-快速开始
SOFABoot-05-依赖管理
SOFABoot-06-健康检查
SOFABoot-07-版本检察
SOFABoot-08-启动加快
SOFABoot-09-模块隔离
SOFABoot-10-聊一聊 sofatboot 的十个问题
Jarslink
Jarslink
是
SOFABoot
官方基于
SOFAArk
开发的功能插件,负责管理多应用在 SOFAArk 容器之上的归并部署,具备如下特性:
支持运行时动态安装和卸载应用。
支持运行时应用热替换本事,包管服务的一连性。
跨应用内部通信,支持应用发布引用 JVM 服务,跨应用既可以使用 RPC 框架,也可以走内部 JVM 服务进行通信。
支持应用健康检查。
最新的消息是项目已不再继承添加新功能,处于维护模式;本项目已有功能已被归并进 Koupleless,并作为模块化研发框架和平台 Koupleless 的本事之一, 我们保举您直接使用
Koupleless
背景
在蚂蚁金服内部,在同一个 JVM 之上部署多个应用,是一件常见的事情。这样带来的主要优势如下:
无关应用归并部署:有些应用在独立部署时,相互之间没有服务依赖,而且这些应用承担业务体量都偏小,单独启动 Java 虚拟机比较浪费资源, 将这些应用归并部署,能够节流资源。
相关应用归并部署:有些应用之间存在服务依赖,独立部署时,各应用之间使用 RPC 调用,固然使用了分布式架构,稳固性高,但依然存在网络抖动导致的延时性问题。这些应用归并部署,RPC 调用优先转为 JVM 内部调用,缩减调用开销。
不光应用间存在归并部署,近端包也有同样的诉求。
近端包是提供一系列公共服务的三方组件,一样平常由应用作为依赖引入,这种开发模式容易导致两个问题:
近端包引入的三方依赖和应用本身的依赖产生辩论,期望能做到隔离部署。
近端包由应用作为依赖引入,因此近端包的任何升级改造都需要应用共同升级。但是作为一个公共的功能组件,近端包通常会被很多业务方应用依赖,此时推动业务方改造工作量巨大,因此期望能做到近端包的动态升级。
除了归并部署,蚂蚁金服很多业务场景需要模块的热部署,即在应用运行时,需要动态替换某特定模块而不影响其他模块的正常运行。
Jarslink2.0 正是为了解决诸如此类的问题,它是基于 SOFAArk 开发的 Ark Plugin,用于管理多应用归并部署。在了解 Jarslink2.0 之前,你需要提前了解 SOFAArk 框架。关于 SOFAArk 可以访问链接获取更多具体信息。
原理
Jarslink2.0 是一款基于 SOFAArk 开发的 Ark Plugin 。
假设你已经对 SOFAArk 有一定的了解,很容易知道,应用被打包成 Ark Biz 的形式运行在 SOFAArk 容器之上。
SOFABoot 大概 Spring Boot 应用,乃至平常的模块都可以借助 SOFAArk 插件打包成一个标准的 Ark Biz 包。
Jarslink2.0 支持多个 Ark Biz 运行在 SOFAArk 容器之上,从而做到多应用的归并部署。应用可以通过注解的形式快速发布服务大概引用其他应用发布的服务,到达相互通信的目的。下图是运行时多应用归并部署布局图:
从图中可以看到,使用 Jarslink2.0 通常需要引入两个 Ark Plugin, 下面介绍这两个 Ark Plugin 的作用。
Jarslink: Jarslink2.0 核心代码,支持动态接收命令,如安装、卸载、切换等等,用于管理 Ark Biz 的生命周期。假如需要运行时动态部署应用,需要添加如下依赖:
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>sofa-jarslink-ark-starter</artifactId>
<classifier>ark-plugin</classifier>
</dependency>
复制代码
SOFARuntime: SOFARuntime 是 SOFABoot 提供的功能模块,用于实现跨应用的服务调用。假如需要使用跨应用调用功能,需要添加如下依赖:
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>runtime-sofa-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>runtime-sofa-boot-starter</artifactId>
<classifier>ark-plugin</classifier>
</dependency>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
反转基因福娃
论坛元老
这个人很懒什么都没写!
楼主热帖
设计模式---组合模式
Spark快速上手(4)Spark核心编程-Spark ...
【Unity3D】Transform组件
拿到12家offer,想给大家分享一下面试 ...
Linux的目录结构
【渗透攻击】PowerShell与Shell 有什么 ...
如何将鸿蒙(harmonyOS)系统退回安卓 ...
使用 Kubeadm 部署 K8S安装
软件工程经济学第一章
[工具使用]SqlMap
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
.Net
快速回复
返回顶部
返回列表