方案优势
通过对业务的功能模块化分拆,对每个服务定义清晰的业务边界,将应用分解成多个可管理的微服务
模块化
分解之后的单个服务小而聚焦,降低复杂性,易于开发、管理和维护
易迭代
业务围绕单一职责实现,通过服务自治支持多语言,提供明确接口定义,能快速实现业务变更,提高效率
易维护
开发者无需协调其它服务部署对本服务的影响,实现持续化部署
简单易用
根据每个服务的规模部署满足需求的实例,节省资源开销
方案特点
基于对传统应用、微服务框架、服务网格应用服务方案的落地实践,提供 Spring Cloud、Dubbo 和 Service Mesh 等多种解决方案,快速建设企业级微服务平台
持续集成
基于才云开源工具 Cyclone,兼容业界广泛使用的 CI/CD 场景与工具,提供高性能、易接入、易使用的持续集成与持续部署
多语言支持
支持 Java、Go、Python、JavaScript、PHP 等语言,Node.js、.Net 等环境
服务治理
支持 Spring Cloud、Dubbo、Service Mesh 应用框架及多框架混合方案;Docker、Kubernetes 开源原生支持
应用场景
跨部门合作
承载高并发业务
业务快速迭代
资源利用率低
场景描述:
在 IT 部门中,根据业务不同会有多个团队进行协同工作,易导致相同业务逻辑重复代码,提交代码频繁出现冲突等问题。
解决方案:
- 根据业务类型进行微服务化,提供统一业务服务接口,使应用所需数据均来自业务服务,删除冗余代码;
- 规范代码管理,实现业务服务独立维护,提高跨部门合作效率。
场景描述:
在单体应用服务中,业务涉及到的事物往往都在一段代码中实现,通常要提高业务并发,保障架构的通用性、可扩展性、高可用、高性能。
解决方案:
- 根据业务对事务强一致性、最终一致性要求以及承载不同功能的特点,对业务进行微服务化拆分;
- 针对事务强一致性的业务通过实现并发控制和日志可恢复,达到强一致性目的;对最终一致性的业务,通过引入消息服务提高实时性,添加缓存机制提高访问并发;
- 根据业务访问量剧增的情况,对业务数据进行持久化相互隔离。
场景描述:
在实际业务中,开发、测试、准生产环境由于配置不同,应用服务在不同环境中存在不同问题,需要制定一系列流程规范保证环境一致,导致效率低下;小功能积累到大版本才能部署,不能有效快速迭代。
解决方案:
- 针对业务抽象出服务公共组件,保证基础依赖一致;
- 根据业务功能拆分多个微服务,实现服务间单向调用,避免服务出现循环调用;
- 建立监控体系减少故障发生的概率,降低故障造成的影响;
- 建立统一网关,进行权限控制和服务治理,实现服务链路跟踪,快速定位问题。
场景描述:
横向扩展流程复杂,主要业务与其他业务耦合,单体应用服务无状态化后,通过部署多份提高服务性能,但资源浪费严重,如果涉及相互依赖配置,则会造成扩容配置失效,并不能有效解决问题。
解决方案:
- 对业务进行计算密集型和 IO 密集型划分,对业务服务关注的指标进行微服务化拆分;
- 根据业务提供服务方式,对内部服务和外部服务进行划分,通过统一网关管理,实现服务熔断、服务降级等策略;
- 提供服务注册、发现管理、动态扩容等功能,并对服务进行定期健康性检查;
- 提供日志分析平台,通过日志搜索引擎,统计分析业务服务运行指标,实现服务与资源的自动弹性伸缩,提高服务稳定和性能。