SOFAArk 发布 v1.0.0 版本 | 蚂蚁金服开源类隔离容器

栏目: 软件资讯 · 发布时间: 5年前

内容简介:i.   支持 Biz 扩展点机制ii.  优化 Ark 启动期 GCiii. 支持 Biz 启动加载指定 profile 配置

发布 SOFAArk v1.0.0 版本,主要变更如下:

i.   支持 Biz 扩展点机制

ii.  优化 Ark 启动期 GC 

iii. 支持 Biz 启动加载指定 profile 配置

iv. 采用 netty 替代原生 JDK NIO 启动 Telnet Server

v.  修复若干社区反馈问题

项目介绍:

SOFAArk 是一款基于 Java 实现的轻量级类隔离容器,由蚂蚁金服公司开源贡献;主要提供类隔离和应用(模块)动态部署能力;基于 Fat Jar 技术,可以将多个应用(模块)打包成一个自包含可运行的 Fat Jar,应用既可以是简单的单模块 Java 应用也可以是 Spring Boot/SOFABoot 应用; 访问网址 进入快速开始并获取更多详细信息。

原理

SOFAArk 框架包含有三个概念, Ark ContainerArk Plugin 和  Ark Biz ; 运行时逻辑结构图如下:

SOFAArk 发布 v1.0.0 版本 | 蚂蚁金服开源类隔离容器

在介绍这三个概念之前,为了统一术语,有必要先说一下所谓的 Ark 包 ;Ark 包是满足特定目录格式要求的  Executed Fat Jar ,使用官方提供的  Maven 插件  sofa-ark-maven-plugin 可以将工程应用打包成一个标准格式的  Ark 包 ;使用命令  java -jar application.jar 即可在 Ark 容器之上启动应用; Ark 包 通常包含  Ark ContainerArk Plugin 、  Ark Biz ;以下我们针对这三个概念简单做下名词解释:

  • Ark Container : Ark 容器,负责整个运行时的管理; Ark Plugin 和  Ark Biz 运行在 Ark 容器之上;容器具备管理多插件、多应用的功能;容器启动成功后,会自动解析 classpath 包含的  Ark Plugin 和  Ark Biz 依赖,完成隔离加载并按优先级依次启动之;

  • Ark Plugin : Ark 插件,满足特定目录格式要求的  Fat Jar ,使用官方提供的  Maven 插件  sofa-ark-plugin-maven-plugin 可以将一个或多个普通的  Java  Jar 包打包成一个标准格式的  Ark Plugin ;  Ark Plugin 会包含一份配置文件,通常包括插件类导入导出配置、插件启动优先级等;运行时,Ark 容器会使用独立的  PluginClassLoader 加载插件,并根据插件配置构建类加载索引表,从而使插件与插件、插件与应用之间相互隔离;

  • Ark Biz : Ark 业务模块,满足特定目录格式要求的  Fat Jar ,使用官方提供的  Maven 插件  sofa-ark-maven-plugin 可以将工程应用打包成一个标准格式的  Ark-Biz 包;是工程应用模块及其依赖包的组织单元,包含应用启动所需的所有依赖和配置;

在运行时, Ark Container 优先启动,自动解析 classpath 包含的  Ark Plugin 和  Ark Biz ,并读取他们的配置,构建类加载索引关系;然后使用独立的 ClassLoader 加载他们并按优先级配置依次启动;需要指出的是, Ark Plugin 优先  Ark Biz 被加载启动; Ark Plugin 之间是双向类索引关系,即可以相互委托对方加载所需的类; Ark Plugin 和  Ark Biz 是单向类索引关系,即只允许  Ark Biz 索引  Ark Plugin 加载的类,反之则不允许。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

大数据时代的算法:机器学习、人工智能及其典型实例

大数据时代的算法:机器学习、人工智能及其典型实例

刘凡平 / 电子工业出版社 / 2017-1 / 49

《大数据时代的算法:机器学习、人工智能及其典型实例》介绍在互联网行业中经常涉及的算法,包括排序算法、查找算法、资源分配算法、路径分析算法、相似度分析算法,以及与机器学习相关的算法,包括数据分类算法、聚类算法、预测与估算算法、决策算法、关联规则分析算法及推荐算法。《大数据时代的算法:机器学习、人工智能及其典型实例》涉及的相关算法均为解决实际问题中的主流算法,对于工作和学习都有实际参考意义。 《......一起来看看 《大数据时代的算法:机器学习、人工智能及其典型实例》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具