Clickpaas技术中台实践:微服务篇
“中台”这个概念火了一年多了,年初的时候又”火“了一次。相信任何事物都有它的两面性,正如我们做架构的时候其实也一直在做取舍。
Clickpaas的技术中台(Logan)已经快两岁了,今天我们不讨论该不该做技术中台,只说说中台给我们带来了什么。
不管黑猫白猫,捉到老鼠就是好猫。
一、背景
Clickpaas的智能离不开复杂系统的支撑,其特有的互联网基因要求业务能够应对市场的迅速变化:快速响应、快速试错、快速创新。同时,为了给客户提供优质服务,系统需要更高的可靠性,降本增效也是公司快速发展过程中特别关注的。
技术中台正好契合了公司上述所有需求。在公司的引领和推动下,2018 年 4 月召开了Clickpaas技术中台的启动会,同年 5 月底团队成立。技术中台团队始终坚持“兵不在多而在精”的原则,近两年高峰时期团队也未超过 10 人。
也许有人会怀疑,一支足球队规模的团队,到底能做出个什么样的中台来?
简单来说,Clickpaas的技术中台主要由以下及部分组成:
基于 SpringCloud、Kubernetes 自研的微服务体系平台
遵循业界标准的自服务中间件平台
可监可控的高性能中间件 SDK
接入中台的应用不需要写一行业务代码,可以立即具备以下能力:
生产级应用:健康检查、节点部署反亲和性、自动扩缩容、JVM GC 参数调优、资源隔离、滚动部署
自动接入网关:限流、熔断、访问控制
SpringBoot 使用最佳实践:配置调优、profile 标准化、线程池和连接池调优
自动化 CICD:自动化镜像生成、自动处理 git 的 tag、代码质量
丰富的问题定位手段:日志中心、注册中心、微服务全方位监控 (JVM/Trace/Metrics/ 告警)
系统级无埋点监控、业务 Metrics 提供扩展机制
调用链
数据可视化:丰富的研发数据展示
配置中心提供不停机,动态调整应用配置能力
对外保证:
DevOps 提高效率:开发、部署、问题定位
生产可用性:弹性、容错
如上图,Clickpaas的技术中台分为微服务中台和云平台两大部分:
云平台:为技术中台提供底层的基础支撑,基于主流的容器技术 Docker 和 K8s 构建,提升资源的利用率、降低运维成本;自研了容器化的部署平台,提供用户友好的 UI、日志聚合、跨集群部署、历史修订版;自定义 CRD 封装应用部署单元,以效率和可用性为目标,提供生产级应用最佳实践,简化应用在 Kubernetes 的生命周期管理;开发人员只需专注业务,通过 CICD 标准化构建部署到云平台;
微服务中台:基于 SpringCloud 打造,提供微服务的管理、治理、监控、统一标准化配置,助力系统微服务化,提升生产可用性;并通过研发中台提升研发、测试、问题定位效率。
本文主要分享微服务中台的实践经验。 |