tars框架php,介绍 - TARS介绍 - 《TarsPHP - PHP构建高性能RPC框架》 - 书栈网 · BookStack...

TARS是一个支持C++、JAVA、PHP、NodeJS、Go等多语言的微服务框架,通过统一的接口定义语言tars实现跨语言通信。其特性包括快速服务构建、服务端和客户端的自动代码生成工具,以及一系列保障高可用的基础服务,如主控服务、节点服务和监控服务。此外,TARS还提供了无损发布选项和强大的运营管理后台,便于服务监控、配置管理和版本控制。
摘要由CSDN通过智能技术生成

TARS功能特性

多语言

TARS最早使用C++语言进行开发, 后续随着业务的发展, 逐步实现了C++/JAVA/PHP/NodeJS/Go的服务端和客户端功能。同时使用Python语言等作为客户端,也可以进行服务的调用。更多语言包括C#等也在逐步的开发中。

不同语言之间, 使用统一的接口定义语言tars来约定协议, 各语言的基本RPC能力均已支持, 同时也会针对不同的语言特性, 开发相对差异化的功能。性能是不同语言实现的时候, 遵循的重要准则, 使用现有语言开发的服务, 均经过大流量的线上验证, 并符合C侧业务的高并发与高可用要求。

敏捷研发

使用TARS可以快速的构建微服务, 并且由于TARS本身多语言的特性, 这对团队技术栈的差异有很高的兼容性。对于需要快速开发的逻辑层需求而言,开发者完全可以选择使用适合快速开发的PHP。而对于一些性能要求比较极致的场景, 就可以使用TARS搭建基于C++的微服务了。

除此之外, TARS在各个语言的实现中, 都配备了服务端和客户端的自动代码生成工具。通过这个工具:服务调用者可以非常方便的根据协议生成调用代码, 并像调用本地函数一样调用远程服务

服务提供者可以很快的生成代码的骨架, 并在其中进行快速的需求开发

高可用

TARS本身提供了一系列的基础服务, 这些基础服务有效的保证了TARS的高可用。这可以从几个服务的维度来阐述:主控服务Tars-Registry: 主控服务, 中心化存储所有服务的可用地址, 分布式部署, db存储;

节点服务Tars-Node: 负责监控机器上所有的tars服务, 并在发现异常后及时恢复服务;

监控服务Tars-State: 负责收集服务本身、机器本身、调用情况等监控服务, 通过设置不同的告警策略, 让服务异常及时通知;

除此之外, 各语言为了保证高可用, 都会对服务可用列表进行一定时间的缓存。保证主控有问题的时候, 可以fallback到本地可用服务列表。而部分语言也已经实现了如果遇到某个服务ip不可用的情况, 自动标记并剔除的功能。

高效运营

TARS在发布的时候, 也提供了无损的选项。由于各语言框架不同, 实现的方式也各不相同。通过使用无损, 可以实现类似于NGINX reload的功能。服务分批无损重启, 在可用时再为对外提供服务, 已经成为了大部分高可用发布的标准选择。

同时, 由于TARS是自带管理运维后台的, 因此它天然比单纯的RPC框架更强大一些。通过这个管理后台, 使用者可以轻松完成如下内容:查看现有服务ip列表

对单台机器进行服务配置变更

服务发布、版本回退

调用监控上报查看

机器或服务本身监控上报查看

单个或批量进行服务配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值