腾讯Tars框架剖析(一)---Tars框架原理及架构

Tars是腾讯开源的微服务框架,提供开发、运维、测试一站式解决方案。它包括可扩展协议编解码、RPC通信、服务治理等功能。Tars分为协议层和上层服务层,协议层统一协议,服务层包括服务节点、公共框架节点,实现负载均衡、容错保护等。Tars支持同步、异步和单向调用模式,服务治理采用微服务思想,强调模块解耦。
摘要由CSDN通过智能技术生成

Tars是什么?

Tars 是腾讯开源的一款微服务框架 基于以前腾讯内部使用多年的TAF框架而来

Tars能干什么?

Tars 为用户提供了涉及到开发、运维,以及测试的一整套解决方案,
帮助一个产品或者服务快速开发、部署、测试与上线。

通过它可以快速用微服务的方式构建稳定可靠的分布式应用,
并实现完整有效的服务治理。

Tars包含了什么?

它集可扩展协议编解码、高性能 RPC 通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体

Tars的设计思想是什么?

Tars的设计思路是采用微服务的思想对服务进行治理,
同时对整个系统的各个模块进行抽象分层,
将各个层次之间相互解耦或者松耦合

Tars的架构是怎样的?

在这里插入图片描述
按照我的理解可以分为两层

底层的协议层

最底的协议层,设计思路是将业务网络通信的协议进行统一,
以IDL(接口定义语言)的方式,开发支持多平台、可扩展、协议代码自动生成的统一协议。

通过IDL语言协议,可以定义服务提供的接口,并自动生成客户端和服务端的相关通信代码,
服务端只需实现业务逻辑即可对外提供服务,客户端通过自动生成的代码即可调用服务,
调用方式支持三种模式:

同步调用:客户端发出调用请求后等待服务返回结果后再继续逻辑;

异步调用:客户端发出调用请求后继续其他业务逻辑,服务端返回结果又由回调处理类处理结果;

单向调用:客户端发出调用请求后就结束调用,服务端不返回调用结果。

关于 腾讯内部TAF框架使用的IDL—JCE协议 看这篇文章
https://blog.csdn.net/vjhghjghj/article/details/105916450

上层的服务层

介绍

公共库、通讯框架、平台层,设计思路是让业务开发更加聚焦业务逻辑的本身。因此,从使用者的角度出发,封装了大量日常开发过程中经常使用的公共库代码和远程过程调用,让开发使用更简单方便;从框架本身的角度出发,做到高稳定性、高可用性、高性能,这样才能让业务服务运营更加放心;从分布式平台的角度出发,解决服务运营过程中,遇到的容错、负载均衡、容量管理、就近接入、灰度发布等问题,让平台更加强大。

运营层,设计思路是让运维只需要关注日常的服务部署、发布、配置、监控、调度管理等操作。

在这里插入图片描述

组成
服务节点:

服务节点可以认为是服务所实际运行的一个具体的操作系统实例,
可以是物理主机或者虚拟主机、云主机。
随着服务的种类扩展和规模扩大,
服务节点可能成千上万甚至数以十万计。
每台服务节点上均有一个Node服务节点和N(N>=0)个业务服务节点

1. 一个Node服务节点
Node服务节点会对业务服务节点进行统一管理,
提供启停、发布、监控等功能,同时接收业务服务节点上报过来的心跳。

2. N(N>=0)个业务服务节点
业务服务

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值