Skip to content

Commit

Permalink
Merge pull request #1215 from lilai23/logo
Browse files Browse the repository at this point in the history
【doc】更新Sermant logo
  • Loading branch information
Sherlockhan authored May 17, 2023
2 parents a291527 + 9693108 commit a2d7039
Show file tree
Hide file tree
Showing 10 changed files with 7,784 additions and 51 deletions.
15 changes: 8 additions & 7 deletions README-en.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
<p>
<img src="docs/binary-docs/sermant-logo.png" width="50%" syt height="50%">
</p>
<h1>A Proxyless Service Mesh Solution Based on Java Agent</h1>
<h1>A Proxyless Service Mesh Solution Based on JavaAgent</h1>


[简体中文](README.md) | [English](README-en.md)

Expand All @@ -15,26 +16,26 @@

## What is Sermant?

**Sermant** (also known as Java-mesh) is a proxyless **ser**vice **m**esh technology based on J**a**va Age**nt** . It leverages the [Java Agent](https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html) to instrument the host application with enhanced service governance function, in order to solve the service governance problem, in the massive micro-service architecture.
**Sermant** (also known as Java-mesh) is a proxyless **ser**vice **m**esh technology based on J**a**va Age**nt** . It leverages the [JavaAgent](https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html) to instrument the host application with enhanced service governance function, in order to solve the service governance problem, in the massive micro-service architecture.

Sermant's purpose also includes building a plugin-development ecosystem to help developers develop the service governance function more easily while not interfering the business code. The Sermant architecture is depicted as follows.

![pic](docs/binary-docs/sermant-product-arch.png)

As described above, Sermant's Java Agent has two layers of functions.
As described above, Sermant's JavaAgent has two layers of functions.

- Framework core layer. The core layer provides Sermant's basic framework capability, in order to ease the plugin development. The function of this layer includes heart beat, data transmit, dynamic configuration, etc.
- Plugin service layer. The plugin provides actual governance service for the application. The developer can either develop simple plugin by directly leveraging framework core service, or can develop complex plugin by developing plugin's own complex service-governance function.

Sermant's Java Agent widely adopts class isolation technology in order to eliminate the class load conflicts between framework code, plugin code, and application code.
Sermant's JavaAgent widely adopts class isolation technology in order to eliminate the class load conflicts between framework code, plugin code, and application code.

A microservice architecture using Sermant has the following three components, which is depicted in the following diagram.

![pic](docs/binary-docs/sermant-rt-arch.png)

- Sermant Java Agent: dynamically instrument the application for the service governance capability.
- Sermant Backend: provide the connection and the pre-processing service for the Java Agents' all uploaded-data.
- Dynamic configuration center: Providing the instructions by dynamically update the config to the listening Java Agent. Dynamic configuration center is not directly provided by Sermant project. The projects currently support servicecomb-kie, etc.
- Sermant JavaAgent: dynamically instrument the application for the service governance capability.
- Sermant Backend: provide the connection and the pre-processing service for the JavaAgents' all uploaded-data.
- Dynamic configuration center: Providing the instructions by dynamically update the config to the listening JavaAgent. Dynamic configuration center is not directly provided by Sermant project. The projects currently support servicecomb-kie, etc.


## Quick Start
Expand Down
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
<p>
<img src="docs/binary-docs/sermant-logo.png" width="50%" syt height="50%">
</p>
<h1>基于Java Agent的无代理服务网格解决方案</h1>
<h1>基于JavaAgent的无代理服务网格解决方案</h1>


[简体中文](README.md) | [English](README-en.md)

Expand All @@ -16,26 +17,26 @@

## Sermant

**Sermant**(也称之为Java-mesh)是基于Java Agent无代理的服务网格技术。其利用JavaAgent为宿主应用程序提供增强的服务治理功能,以解决大规模微服务体系结构中的服务治理问题。
**Sermant**(也称之为Java-mesh)是基于JavaAgent无代理的服务网格技术。其利用JavaAgent为宿主应用程序提供增强的服务治理功能,以解决大规模微服务体系结构中的服务治理问题。

Sermant的愿景还包括构建插件开发生态系统,以帮助开发人员更容易地开发服务治理功能,同时不干扰业务代码。Sermant架构描述如下。

![pic](docs/binary-docs/sermant-product-arch.png)

根据上图,Sermant中Java Agent包含两层功能
根据上图,Sermant中JavaAgent包含两层功能

- 框架核心层。核心层提供Sermant的基本框架功能,以简化插件开发。该层的功能包括心跳、数据传输、动态配置等。
- 插件服务层。插件为宿主应用提供实际的治理服务。开发者可以直接利用框架核心服务开发简单插件,也可以开发插件自身的复杂服务治理功能来开发复杂插件。

Sermant中的Java Agent广泛采用类隔离技术,以消除框架代码、插件代码和宿主应用程序代码之间的类加载冲突。
Sermant中的JavaAgent广泛采用类隔离技术,以消除框架代码、插件代码和宿主应用程序代码之间的类加载冲突。

使用Sermant的微服务架构具有以下三个组件,如下图所示。

![pic](docs/binary-docs/sermant-rt-arch.png)

- Sermant Java Agent:动态地为宿主应用程序提供服务治理能力。
- Sermant Backend:为Java Agent的上传数据提供连接和预处理服务
- Dynamic configuration center:通过动态更新监听的Java Agent的配置来提供指令。Sermant项目不直接提供动态配置中心。这些项目目前支持servicecomb-kie等。
- Sermant JavaAgent:动态地为宿主应用程序提供服务治理能力。
- Sermant Backend:为JavaAgent的上传数据提供连接和预处理服务
- Dynamic configuration center:通过动态更新监听的JavaAgent的配置来提供指令。Sermant项目不直接提供动态配置中心。这些项目目前支持servicecomb-kie等。

## 快速开始

Expand Down
Loading

0 comments on commit a2d7039

Please sign in to comment.