演讲者:张浩 腾讯云中间件产品负责人
背景:众多开发者中,一定经历类似的甜蜜烦恼,就是当线上业务规模越来越大,系统分支发展越来越多的时候,初期上线的成就感很快就会被系统间数据不兼容、不通畅,折磨得精疲力尽,每次模块更新都是牵一发而动全身。腾讯云微服务框架TSF就可以为大家解决数据孤岛以及重复造轮子的问题,提供了简洁易用的代码入口,将复杂的底层网络、服务器部署接口化,使开发者更易用。
本文整理自腾讯云中间件产品负责人张浩在腾讯云云+未来峰会上的分享内容。
大家下午好!我是来自腾讯云中间件产品负责人,我叫张浩。很高兴今天能来到广州这样一个工业、金融、制造等非常发达的城市,和大家分享腾讯云微服务的一些实践。
刚刚前一个主题的负责人邹辉是腾讯云 PaaS 产品总监,可能已经讲了很多DevOps和微服务结合的理论和落地的工具,我是接着详细讲讲腾讯云,除了容器、DevOps工具以外,在这以上我们抽象出来的一套叫做TSF的平台能够帮助开发者解决什么问题。
首先就微服务这个概念,我自己的理解,把它简单用一句话来讲,传统的冗余、耦合的IT架构,我通过一些互联网手段和工具,把它解耦成为单独的耦合的微服务,这样开发团队可以拥有独立的技术站,快速迭代做一些小步快跑和升级,这样很好的应和互联网时代,做一些业务上的创新。但是往往运营总监下决心做微服务并不是最艰难的,往往是我们做了决定之后,可能团队整个公司的价值观还有很多领域跟不上,比如说我们采购了非常多的像传统的硬件和设备,买一些总线服务,比如说工业开发者尝试用完全开源的产品搭建自己的生态系统,发现有很多线上的问题解决不了。腾讯云推出了TFS的微服务平台,它的目标是类似于乐高积木式的工具和平台,去协助我们所有的开发者更加聚焦业务的开发,让大家的精力聚焦在做业务逻辑的开发和上线,而不是去造轮子开发工具。
TFS的能力介绍我分成两部分来讲,一部分是面向开发者的能力,一部分是面向运维。
先讲开发者的能力,腾讯是用一种非常开放包容的心态和社区结合,一起参与这个事情,腾讯目前在参与比较深入的是在spring Cloud的微服务框架里,在场的开发者我来之前看一下,有很多java的开发者,对这个社区应该是非常熟悉的,腾讯在spring cloud有非常深入的迭代和对这个技术的贡献,最大的一个特性就是一个spring cloud的商业版,解决了社区里面无法解决的问题。其次,在TFS这个平台上,像一些java的开发者,用spring做开发的话,在兼顾平台过程中也是非常的便利,非常方便,腾讯云这一块还整合了腾讯内部的一些中间件的产品,包括消息队列、API网关、等一些中间层服务,让开发者在微服务开发过程中不需要去选择复杂的云的API,直接在云服务器来的时候拉取运用,这是我们在这方面的实践。还有一个词很火叫Service mesh,可称为微服务的3.0时代。
腾讯将在6月份左右推出我们自己的Beta版本,Service mesh在一些异构系统,在多语言开发者的情况下,能让不同的开发者更加聚焦自己的业务逻辑,把服务之间互相访问、发现复测、覆盖均衡、降级服务等等都交给服务网格去处理,会更加聚焦。
第二部分的能力,我们讲微服务,我们讲服务框架,腾讯基于spring提出了新版本,在这个注册中心加入了自研算法,我们做到在深圳和广州的双城机房里可以做愈合,一旦一个机房中心挂掉了,我们可以跨机房做一个服务发现,注册和访问。我们的服务框架在协议的支持方面也有比较丰富的支持,有基于RPC的高性能框架,传统设备私有协议也会兼容。
面向开发者的第三部分的能力,腾讯云提供非常全面的从逻辑到物理上的资源隔离、生产测试、预发布能力。作为现场的开发者或者架构师,在做微服务设计过程中,第一部分是要怎么样划分基础资源的计算、网络、环境的资源问题,第一步要把我们购买的物理机、虚拟机等等服务器资源要利用起来,同时在构建DevOps的测试构建过程中,不能出现一些服务抢占、资源抢占甚至是更严重的事故。所以基于这个空间,我们提供了很好的生态环境和云测试环境的隔离能力。