54

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

 5 years ago
source link: https://www.infoq.cn/article/vbI1IK9ZCtp6*Y0W7VDr?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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 的目的和价值所在。

7baEr2N.png!web 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 上落地了后台系统,使用了最新的容器和微服务技术。

JJjmemM.png!web (腾讯汽车物联网技术中台)

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

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK