SOFAArk release v1.0.0 version | ants gold dress isolated container open class

SOFAArk v1.0.0 release version, the main changes are as follows :

i. Support Biz extension point mechanism
ii. optimization Ark start of GC 
iii. Support Biz boot loader configuration profile specified
iv. netty alternative uses native JDK NIO Server to start the Telnet
v. to repair a number of community feedback problems

Project Introduction:

SOFAArk is an isolated lightweight container based on Java classes implemented by ants gold dress company revenue contribution; the main provider class isolation and application (module) dynamic deployment capabilities; based  Fat Jar  technology, multiple applications (modules) can be packaged into a self-contained Fat Jar can run, applications can be either simple single module Java applications can also be a Spring Boot / SOFABoot apply; visit the website to enter the fast start and get more details.

principle

SOFAArk frame includes three concepts Ark ContainerArk Plugin and  Ark Biz; runtime logic structure is as follows:

framework

Before introducing these three concepts, in order to unify the term, it is necessary to talk about the so-called  Ark 包; Ark packages to meet the specific requirements of the directory format  Executed Fat Jar, using the official offer  Maven plug-in  sofa-ark-maven-plugincan be engineering applications packaged into a standard format  Ark 包; use the command  java -jar application.jarto start the application on the Ark of the container; Ark 包 typically contain  Ark Container, , Ark PluginArk Bizwe focused on the following three concepts simply do the next Glossary:

  • Ark Container: Ark of the container, while the management is responsible for the entire operation; Ark Plugin and  Ark Biz run on Ark container; container management with multi-plug, multi-function application; container after a successful start, will be automatically included in the classpath parsing  Ark Plugin and  Ark Biz dependency, complete isolation load and press priority level in order to start it;

  • Ark Plugin: Ark plug, to meet the specific requirements of the directory format  Fat Jar, using the official  Maven plug  sofa-ark-plugin-maven-plugin one or more may be common  Java  Jar packet packaged into a standard format  Ark PluginArk Plugin contains a configuration file, import and export typically comprises plug-type configuration, plug boot priority level and the like; runtime, Ark uses separate containers  PluginClassLoader loaded plug, and constructing the index table according to the widget class loader configured such that the isolation between the plug and the plug, plug and applications;

  • Ark Biz: Ark service module, to meet the specific requirements of the directory format  Fat Jar , using the official  Maven plug  sofa-ark-maven-plugin engineering applications can be packaged into a standard format  Ark-Biz packet; engineering application modules and their dependencies organizational unit, comprising all the dependencies needed to launch an application and configuration;

At runtime, Ark Container prioritized startup, automatically resolve the classpath contained  Ark Plugin and  Ark Biz, and read their configuration, load index build class relations; then use a separate ClassLoader to load them and prioritize configured to start up; it should be noted that the Ark Plugin priority  Ark Biz is loaded start; Ark Plugin is between a two-way relationship category index that can be entrusted to load the required classes each other; Ark Plugin and a  Ark Biz one-way relationship category index, which only allows  Ark Biz the index  Ark Plugin to load the class, not vice versa.

Guess you like

Origin www.oschina.net/news/107087/sofaark-1-0-0-released