网站系统制作,网站建设合同附加协议,最新新闻热点头条,学历提升报名JarsLink#xff1a;阿里巴巴出品的基于 Java 的模块化开发框架
简介 Jarslink 2.0 是 SOFABoot 官方基于 SOFAArk 开发的功能插件#xff0c;负责管理多应用在 SOFAArk 容器之上的合并部署#xff0c;具备如下特性#xff1a; 支持运行时动态安装和卸载应用。 支持运行时…JarsLink阿里巴巴出品的基于 Java 的模块化开发框架
简介 Jarslink 2.0 是 SOFABoot 官方基于 SOFAArk 开发的功能插件负责管理多应用在 SOFAArk 容器之上的合并部署具备如下特性 支持运行时动态安装和卸载应用。 支持运行时应用热替换能力保证服务的连续性。 跨应用内部通信支持应用发布引用 JVM 服务跨应用既可以使用 RPC 框架也可以走内部 JVM 服务进行通信。 支持应用健康检查。 背景 在蚂蚁金服内部在同一个 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 的生命周期。如果需要运行时动态部署应用需要添加如下依赖 com.alipay.sofa sofa-jarslink-ark-starter ark-plugin SOFARuntime: SOFARuntime 是 SOFABoot 提供的功能模块用于实现跨应用的服务调用。如果需要使用跨应用调用功能需要添加如下依赖 com.alipay.sofa runtime-sofa-boot-starter com.alipay.sofa runtime-sofa-boot-starter ark-plugin 快速开始 如何创建 SOFABoot 应用如何使用 Jarslink 多应用动态部署如何使用跨应用通信如何集成 SOFABoot 健康检查 快速开始 文档
Jarslink 用户中文手册: Jarslink 用户手册及功能特性说明