https://docs.servicecomb.io/java-chassis/zh_CN/toc/ 官网地址
本文基于CSE(cloud service engine)的开源项目servicecomb构建微服务,cse为商用版本。
Java Chassis 的运行时架构
Apache ServiceComb Java Chassis是由华为开发的微服务解决方案(目前已捐赠给apache开源基金)
Java Chassis 微服务应用架构
下图是典型的服务端应用架构。 一般分为如下
1 接入层DNS、ELB等统一访问url
2 一般做微服务网关
3 微服务consumer、provider
Java Chassis 技术选型
1、Java Chassis 基于 Vert.x 的 HTTP 实现,提供非常轻量级和高效的 REST 服务, 在性能要求高的核心业务场景,使用这种轻量级的技术非常合适。
2、java Chassis 可以部署运行于 JSP/Servlet 容器里面,此时Java Chassis的核心部件就是一个 Servlet , 在这个 Servlet 里面 实现了 Java Chassis 的核心 RPC 系统。 采用 JSP/Servlet 容器运行 Java Chassis, 业务请求首先经过容器的 HTTP 实现, 然后经过 Filter, 进入 Java Chassis 的 RestServlet , 运行 Java Chassis 的运行时模型 (Handlers) , 进入业务接口处理。
3、java Chassis 目前依赖于 Spring, 但是从设计上是可以独立于 Spring 运行的。 Spring 是被广泛使用的技术, 非常轻量级, 在 Java Chassis 中可以直接使用 Spring 相关的技术。 Java Chassis 不依赖于 Spring Boot, 但是可以将 Java Chassis 运行于 Spring Boot 基础之上。
Spring Boot 2 开始也提供了多种运行环境支持, WebApplicationType.NONE, WebApplicationType.SERVLET, WebApplicationType.REACTIVE, Java Chassis 可以集成 NONE, SERVLET 两种模式。 在 NONE 模式下集成 Java Chassis, 和 Spring Boot 自身的 REACTIVE 非常类似, 但是比 Spring Boot 的 REACTIVE 运行更加高效, 并且支持早期的 RestTemplate API 和 RPC API 来访问服务。