专访卢政:TSF 如何助力企业微服务开发

阅读数:1639 2019 年 1 月 8 日

话题:架构微服务最佳实践

12 月 15 日,腾讯云 + 社区开发者大会在北京举行,腾讯云微服务平台产品负责人卢政在大会上做了《腾讯云 TSF 平台 ServiceMesh 最佳实践》的分享,在大会上,InfoQ 记者对卢政进行了采访,了解了 TSF 的设计理念和发展情况,以及应用案例等。

TSF 是腾讯云打造的微服务解决方案,其底层支持 Kubernetes 和虚拟机,框架层使用 Spring Cloud+Netflix OSS 等,同时接入 CNCF 的一些云原生技术。2018 年,TSF 在平台落地 Istio,并发布 TSF Mesh 2.0,像企业用户提供了 Service Mesh 相关的最佳实践。

关于 TSF,InfoQ 曾发布两篇技术文章,可供了解参考:

日调度 5 万亿次,腾讯云微服务架构体系 TSF 深度解读

腾讯云 Service Mesh 生产实践及架构演进

TSF 的诞生及发展历程

据卢政介绍,TSF 的前身叫 CAE 平台,最早在 2010 年在腾讯内部使用。15 年结合微服务理念进行改造,到 16 年年中,开始接入 Spring Cloud,向业界的主流技术靠拢。到 17 年,开始提炼出解决方案放到腾讯云上对外提供服务,这就是 TSF。17 年 Service Mesh 开源框架 Istio 发布,TSF 在早期就尝试使用,18 年 Istio 发布 1.0 版本,TSF 迅速跟进,推出了自己的 Service Mesh 服务 TSF Mesh 2.0. 总的来说,TSF 在技术上的发展追求的是和业界微服务的主流开源技术同步,同时在这些技术基础上做了一些创新,团队也一直在探索新技术的落地和应用。

TSF 对公众开放,是因为腾讯云之前已经解决了 IaaS 层的研发,接下来他们认为要解决开发者的问题,需要给开发者提供更好的工具和平台能力,减少应用生命周期管理、服务治理、日志监控等模块的重复开发,而这也是 TSF 的目的和价值所在。


TSF 架构

其中,TSF 提供的核心能力包括:服务治理,应用生命周期管理,配置中心,分布式事务,数据化运营能力(日志 / 监控 / 告警 / 调用链等)。

为了方便应用的开发,TSF 提供了中间件平台,包括分布式计算调度、配置和事务能力,微服务 API 网关,以及在 Spring 框架层面打通消息队列 CMQ/CKafka。

TSF 的容器服务基于腾讯云 TKE 容器 PaaS 平台,TKE 是腾讯云研发的基于 Docker 和 Kubernetes 的公有云 PaaS 平台,提供了完整的 Kubernetes 集群部署能力。

除了支持容器之外,TSF 还支持虚拟机环境,官方的 Istio 并不支持虚拟机,TSF 对官方版本进行了扩展,以提供更多功能,主要包括:

  1. 平台解耦,支持 Kubernetes、虚拟机、裸金属服务器环境;
  2. 新旧兼容,支持 Spring Cloud 应用、Service Mesh 应用互通,统一治理;
  3. 提供多租户隔离和管理支持;
  4. 提供调用链日志持久化,以及监控日志统一收集;
  5. 解决 Mixer 缓存穿透问题,Envoy 流量优化接管,Pilot 性能优化等;
  6. 未来还计划支持私有 RPC 协议。

在其它方面,主要是集成了腾讯云提供的能力,如容器镜像托管平台 Tencent Hub 等。

从 TSF 的发展历程可以看到,它其实是紧跟着一些关键开源项目如 Kubernetes、Spring Cloud、Istio 的脚步发展,力争将前沿技术融入到能用于生产环境的解决方案中去。在未来 TSF 也会沿着这个逻辑,继续和开源社区紧密结合,同时也会开始回馈社区。另外 TSF 的研发重点会是结合客户需求做整合和优化。

TSF 适用于想开发微服务,以及进行微服务改造的用户。目前,已有财付通网贷、零售业务中台、汽车物联网等解决方案,另 TSF 已经帮助某银行、某海关在 TSF 上落地了后台系统,使用了最新的容器和微服务技术。


(腾讯汽车物联网技术中台)

对于开发者来说,并不是所有的系统都适合用微服务来开发,卢政认为,是否使用微服务,还是要看具体的场景。比如:

  • 面临用户快速增长,需要应用具备横向扩展能力,这种就是微服务的典型场景;
  • 另外,当需求多变,业务面临灵活快速扩展的时候,也适合用微服务来进行快速的开发;
  • 对于产品集成多个功能的情况也适合用微服务,将产品拆分为多个模块,每个团队负责一个服务来小规模的快速迭代。

对于稳定的系统没有必要用微服务强行改造,利用如今的混合云技术,可以做到将遗留系统与微服务做很好的对接。

微服务在互联网企业中已经有许多成功的案例,但是,深入到传统行业,微服务架构势必要做一些调整以适应行业特点。TSF 通过使用最新的技术打造具体行业的解决方案,为我们做出了有益的探索。