腾讯微服务架构的发展趋势_第1页
腾讯微服务架构的发展趋势_第2页
腾讯微服务架构的发展趋势_第3页
腾讯微服务架构的发展趋势_第4页
腾讯微服务架构的发展趋势_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

腾讯微服务架构的发展趋势技术创新,变革未来智慧IT海量服务与用户催生微服务框架十年经验沉淀促技术产生价值未来:微服务开发者生态共建移动互联网浪潮2008年6月底,中国网民数量达到2.53亿,中国互联网网民规模首次超过美国,跃居世界第一位。截至2008年底,使用手机上网的网民达到1.176亿人,较2007年增长一倍多。接下来的几年,迎来了一波移动互联网浪潮,手机上网成为网络接入的一个重要发展方式。2007-2008手机上网网民规模对比2000-2008年中国网民规模与增长率用户产品规模急剧扩张腾讯在2006-2007年接连推出了多个手机应用服务:手机QQ、超级QQ、手机腾讯网、手机QQ游戏大厅、手机QQ浏览器、手机QQ空间、数十款WAP游戏应用,随着用户规模和产品规模的急剧膨胀,各种各样的困难接踵而至。业务逻辑业务逻辑集中,耦合性强,开发维护成本高,服务模型多样化,业务协议不统一代码质量代码重复率高,性能、高可用性、可扩展性等方面难以适应业务海量访问发展趋势运营管理运维工具各异,部署管理混乱,规范性差,管理能力薄弱监控体系运营数据缺失,监控维度不立体,故障时分析和查找问题困难业务的多样性、复杂度、爆发性增长的规模腾讯微服务框架的产生面对业务海量访问,腾讯开始采用微服务架构的思想,设计和实现一个通用的统一应用框架平台,对业务提供涉及到开发、运维以及测试的一整套解决方案,让开发更简单,运维更高效。海量服务之道过载保护大系统小做按set部署TARS产生TARS弹性调度化TARS优化重构TARS发展第一阶段第一个阶段,框架产生的阶段。目的是做以微服务为基础的分布式架构。146532IDL(接口定义语言):统一不同语言的访问协议,二进制、可扩展、代码自动生成、支持多平台。RPC:支持同步、异步、单向调用。高性能:框架提供10w/s以上的吞吐量。容错:任何一台服务down掉不影响业务访问。伸缩性:服务可以方便的平行扩展。管理:在web上就能对系统的服务进行部署、发布、上线、扩容、缩容等管理操作。微1服0务0为%基础的分布式架构TARS发展第二阶段第二个阶段,框架优化重构的阶段。目的是解决框架性能和开发易用性的问题。21性能:将仅支持单线程的收发包模式,改造成多线程收发包模式将框架内影响线程并发运行的粗粒度锁,改造成锁细粒度化或者无锁化数据交互尽量零拷贝开发易用性:1.

对原来的同步调用方式,通过协程技术,不改变原来的同步编码方式,对业务透明,只需通过配置开关,可将其实际执行变同步为异步2.对于原来的异步调用方式,通过future/promise技术,让编码方式像同步一样解1决0性0能%和开发易用性TARS发展第三阶段第三个阶段,框架弹性调度Docker化的阶段。目的是达到服务混合部署与自动化运营的效果。21服务混合部署:使用Docker方案将每个进程的运行环境和资源消耗隔离起来。服务部署、打包、发布等标准化.提高了部署效率,保证了交付质量,提升了资源利用率弹性调度:服务进程不再对机器有特殊要求,使得进程可以被部署到所有类型的机器上,给弹性调度巨大的操作空间。一个服务下的所有容器可以被规整为相同的规格,使得服务的流量调度变得更加简单,简化了弹性调度的操作。服1务0混0合%部署与自动化运营海量服务与用户催生微服务框架十年经验沉淀促技术产生价值未来:微服务开发者生态共建微服务成为趋势0%20%40%60%80%100%制造行业金融行业 互联网行业14%14%025%30%21%31%8%23%19%65%55%92%52%51%半年一次 3-6个月更新一次交通物流行业 零售行业每个月都要跟新、升级0% 10% 20% 30% 40% 50% 60%不考虑,全部基于weblogic、WEBSPHERE等传统构架正考虑往云原生(Cloud

Native)架构转已经部分引入Spring

Cloud

微服务开发框架采用其他微服务开发框架51%

考虑转型,15%已经实施63%

企业平均每月发布一次业务场景、用户习惯和行为在迅速变化,传统行业线上业务出现急速增长企业转型微服务面临的挑战0%10%20%30%40%50%60%缺少具备相关经验专家不同部门目标不一致,可能引起组织冲突缺乏专业人士和工具行业的限制和监督感觉技术不成熟,不想做小白鼠业务上没需求上手难,对微服务不理解对微服务带来的复杂度有顾虑服务发现正式发布灰度发布代码管理分布式事务分布式数据访问熔断日志聚合Metrics监控调用链……

配置管理过载保护消息队列RPCRestful代码编译自动测试完整的微服务体系是庞大复杂的借助合适的微服务框架去逐步构建整个微服务体系是一条快捷途径服务治理配套系统API

Gateway微服务自身复杂度以及人才和经验的匮乏成为企业微服务化最大的挑战DevOps微服务框架现状专注于通信框架,RPC或消息队列模式,部分框架支持多语言开发无服务治理类单语言带服务治理类

在通信框架的基础上支持服务治理能力,单一编程语言实现,JAVA语言为主流支持服务治理,通过SideCar模式解决多语言问题,目前处于发展成熟期ServiceMesh在通信框架的基础上支持服务治理能力,多种编程语言实现多语言带服务治理类腾讯自研微服务框架TARS

是腾讯开源、基于

TARS

协议的高性能

RPC

框架,为开发和运维提供了一体化的微服务治理方案。敏捷开发快速构建自动代码生成持续集成高扩展性高效运营无损变更安全鉴权立体化监控可视化管理多语言C++JAVANodeJSPHP/Python高可用服务发现容灾容错智能调度柔性熔断基础设施(物理机、虚拟机、容器)Devops代码管理代码编译自动化测试灰度发布持续部署TarsTUPSSLPBHttp1/2自定义协议同步异步单向RPC协议开发框架服务治理服务注册/发现负载均衡熔断服务配置Metric监控日志聚合自定义监控分布式跟踪自动区域感知流量管理过载保护Set模型C++JAVANodejsPHPGO语言OSSTARS开源社区及应用企业TARS项目于2017年4月开源,(G/TarsCloud)当前Star数6700+,Fork数1500+。TARS团队与各种类型的企业进行了技术交流与合作,与Linux基金会深入协作,持续助力中国开源社区的创新发展。微服务架构为什么要支持多语言?PHP:PHP是灵活的泛型脚本语言,考虑到PHP在WEB后台领域的使用非常的广泛,腾讯与阅文进行深度技术合作,

2017年11月2日,阅文集团对TARS在PHP语言层面进行了能力的补全,令TARS如虎添翼。同时通过引入PHP业界优秀的SWOOLE框架,再结合SWOOLE2.0的协程能力,让TARS-PHP插上协程的翅膀。Node.JS:2017年9月4日,TARS增加对NODE.JS语言支持。2018年8月14日,TARS.js2.0正式发布。基于

Tars体系研发出Tars.js

以便用户在不改变异构系统整体架构的情况下快速搭建及迁移

Node.js

服务,并可非常方便的将原来的单一服务拆分为多个逻辑子服务,并在腾讯内支撑起了上百亿的流量。Go:Go语言的协程并发机制使它非常适用于大规模高并发后端服务器程序开发,同时随着容器化技术的飞速发展,诸如

Docker、Kubernetes与

Etcd

等项目兴起,使得

Go

语言越来越流行,并成为云原生的首选语言。2018年9月15日,TARS-GO正式发布。TARS-GO除了对于功能的开发和完善,还针对性能进行了多轮优化。优化后TARS-GO在小包的并发表现上提升了5倍,整体接近了C++的性能。微服务架构为什么要支持多协议?2017年11月16日

腾讯与科大讯飞进行深度技术合作,将ProtoBuf与TARS自身的编解码协议进行集成,并将TARS-PB正式对外开源。已经使用PB作为内部数据交换协议的用户可以更方便地对TARS进行集成微服务架构为什么要建立生态?2018年5月14日,TARS团队通过插件实现了TARS对Eureka服务发现的支持,提供了Spring

bootstarter包和相关的注解,能够通过符合SpringCloud开发者习惯的开发方式快速开发服务。通过对服务发现和开发方式对Spring

Cloud集成能够让开发者以较小的代价快速的在整个SpringCloud的环境中快速引入TARS的RPC能力。为什么需要制定微服务标准?2018年3月21-22日“云计算开源产业大会”上,中国信息通信研究院和腾讯就TARS开源项目达成合作,合作内容将围绕开展标准制定、推进微服务架构的行业化应用、以及开源社区和开源生态工作展开。2018年8月14日,在北京国际会议中心召开的“2018可信云大会”上,由中国信通院发起,腾讯深度参与制定的行业首个微服务平台标准正式发布。TARS与Linux基金会2018年6月25日,Linux基金会,集结世界顶级开发者的非营利开源组织,宣布腾讯正式成为Linux基金会白金会员。在LC3大会上,腾讯宣布将其两大自研开源项目——高性能RPC开发框架TARS,及其轻量化名字服务方案TSeer贡献给Linux基金会。海量服务与用户催生微服务框架十年经验沉淀促技术产生价值未来:微服务开发者生态共建与社区融合,建立开源生态与社区融合,通过社区来提升自己,并反哺社区,给用户更灵活的选择。构建TARS的微服务体系开源不同微服务周边项目,构建微服务生态体系,让用户更方便的打造其微服务架构。TARS

是腾讯开源、基于

TARS协议的高性能

RPC

框架,为开发和运维提供了一体化的微服务治理方案。于2017年4月开源。TCach

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论