Java Chassis | English

Apache ServiceComb Java Chassis 给开发者提供一个快速构建微服务的JAVA SDK。它包含如下特性:
- 基于Open API的契约优先(API First)开发模式,满足开发过程可管理、开发规范可验证要求。
- 多种开发风格,REST(JAX-RS、Spring MVC)和RPC等,高效支持遗留系统迁移和新系统开发场景。
- 多种通信协议, HTTP over Vert.x、Http Over Servlet、Highway等,满足不同场景对于性能、韧性的需求。
- 统一一致的服务提供者、服务消费者处理链,易于扩展新功能。
- 提供服务发现、配置管理、熔断、限流、灰度发布等开箱即用的服务治理能力。
可以通过设计选型参考 了解更多特性和设计原理。
如果发现项目能帮助到您,别忘了点击右上角
star表示鼓励。
| 版本火车 | 最新版本 | 编译的JDK版本 | 支持的JDK版本 | Open API | 备注 |
|---|---|---|---|---|---|
| Java Chassis 3 | 3.3.0 | OpenJDK 17 | OpenJDK 17 | 3.0.x | 依赖Spring Boot 3 |
| Java Chassis 2 | 2.8.24 | OpenJDK 8 | OpenJDK 8, 11, 17 | 2.0.x | 依赖Spring 5 |
| Java Chassis 1 | 1.3.11 | OpenJDK 8 | OpenJDK 8 | 2.0.x | 停止更新 |
Java Chassis 的核心依赖
| Java Chassis | Spring Boot | Vert.x | Swagger | Jackson |
|---|---|---|---|---|
| 3.3.x | 3.4.x | 4.5.x | 2.2.x | 2.18.x |
| 3.2.x | 3.3.x | 4.5.x | 2.2.x | 2.18.x |
NOTICE: Open API 3.0.x 不兼容 2.0.x, 因此Java Chassis 2、Java Chassis 1不能与Java Chassis 3共存互访. 升级Java Chassis 3, 需要将相关的消费者、提供者和边缘服务同时升级.
NOTICE: Java Chassis 1 第一个版本于2018发布,已经停止更新.
- 定义服务契约
@RequestMapping(path = "/provider")
public interface ProviderService {
@GetMapping("/sayHello")
String sayHello(@RequestParam("name") String name);
}- 定义提供者
@RestSchema(schemaId = "ProviderController", schemaInterface = ProviderService.class)
public class ProviderController implements ProviderService {
@Override
public String sayHello(String name) {
return "Hello " + name;
}
}- 定义消费者
@Configuration
public class ProviderServiceConfiguration {
@Bean
public ProviderService providerService() {
return Invoker.createProxy("provider", "ProviderController", ProviderService.class);
}
}使用RPC方式访问提供者。
@RestSchema(schemaId = "ConsumerController", schemaInterface = ConsumerService.class)
public class ConsumerController implements ConsumerService {
private ProviderService providerService;
@Autowired
public void setProviderService(ProviderService providerService) {
this.providerService = providerService;
}
@Override
public String sayHello(String name) {
return providerService.sayHello(name);
}
}下载并体验上述示例项目 .
请访问 ServiceComb Java Chassis 开发指南.
开发者可以通过MAVEN仓库使用Java Chassis。 如果需要构建项目,需要使用JDK 17版本,并预先安装maven。
mvn clean install
开发者需要预先安装docker。
mvn clean install -Pdocker -Pit
使用docker machine。
mvn clean install -Pdocker -Pit -Pdocker-machine
报告缺陷: issues
参考 如何做贡献.
Licensed under an Apache 2.0 license.