Java Chassis Architecture

Basic Framework

ServiceComb Model

Purpose

1.To decouple the programming and communication models, so that a programming model can be combined with any communication models as needed. Application developers only need to focus on APIs during development and can flexibly switch communication models during deployment. Services can also be switched over to a legacy system. The developers simply need to modify the configuration file(or annotation) released by the service.

Currently, applications can be developed in Spring MVC, JAX-RS, or transparent RPC mode.

2.To introduce the code-first approach. This allows cross-language communication through API definition-based microservice development and supports the development of software tool chains(such as code generated based on API definitions and API definitions generated based on code) to build a complete development ecosystem.

3.To define common microservice running model, encapsulating fault tolerance methods of microservices used from discovery to interaction, The running model can be customized or extended.

Modules

Type artifact id Available or NOT Function
Programming model provider-pojo Yes Provides the RPC development mode.
Programming model provider-jaxrs Yes Provides the JAX-RS development mode.
Programming model provider-springmvc Yes Provides the Spring MVC development mode.
Communication on model transport-rest-vertx Yes A development framework running over HTTP, it does not depend on Web containers. Applications are packaged as executable .jar files.
Communication on model transport-rest-servlet Yes A development framework running on Web container. Applications are packaged as WAR files.
Communication on model transport-highway Yes Provides high-performance private communication protocols for Java communication.
Running model handler-loadbalance Yes A load balancing module that provides various routing policies and configurations. It is usually used for clients.
Running model handler-bizkeeper Yes Provides service governance functions, such as isolation, fallbreak, and fault tolerance.
Running model handler-tracing Yes Provides the capability of developing and managing TCC transactions.