禾连云原生微服务治理实践
01 禾连的业务场景和技术栈
禾连健康成立于2014年,是一家从体检场景切入的健康管理服务公司,提供面向医院、企业和家庭的健康管理服务。业务场景包括:
- 医院向医院提供检前、检中、检后的互联网SaaS产品
- 企业向企业提供团体体检、健康管理
- 家庭向用户家庭提供健康管理
技术栈包括:
- 云端服务:Java, Spring
- 基础设施:ECS, Kubernetes/ACK
- 微服务框架:Apache Dubbo, Nacos, Apache RocketMQ
02 禾连云原生微服务实践
业务拆分与治理
- 业务拆分:解决业务复杂度问题,各端业务解耦,避免互相影响;服务分层,保障履约的核心服务;独立的服务自检。
- 能力拆分:基于Dubbo框架,通过Java Interface @DubboService实现几乎不侵入代码,@DubboReference实现服务引用。
微服务治理工具
- Apache Dubbo:RPC框架,开源中文社区支持,SpringCloud集成简单,控制面板易用。
- Nacos:注册中心、配置中心,开源中文社区支持,MSE(Nacos)抗住Dubbo2的压力,全兼容免运维。
- 阿里云服务:基于Nacos的微服务治理,支持服务观测(trace)、特性开关、加密配置。
DevOps与持续集成
- Kubernetes/ACK:镜像发布/回滚,持续集成。
- 阿里云ARMS:服务观测、特性开关。
- MSE + KMS:抗住Dubbo2压力,全兼容免运维。
- 云效CI:持续集成。
服务实例隔离
- 运营端C端HTTP协议转换网关:基于Apache ShenYu改造,实现服务实例隔离。
- DubboServiceA,v1/DubboServiceA,v2:基于Dubbo版本的服务实例隔离。
03 禾连云原生微服务的未来规划
- HTTP Gateway:全量的HTTP协议网关。
- Service Mesh:控制面。
- MSE:微服务治理。
- Service AMQ:服务消息队列。
- Service C:服务C规划。