TARS马上要成立基金会了,这款微服务框架适合你么?
发布网友
发布时间:2024-10-04 00:41
我来回答
共1个回答
热心网友
时间:2024-10-21 13:20
目前开源界的微服务框架大体可以分为以下四个种类。
第一类是无服务治理的,这一类基本可以看做是一个RPC框架。RPC发展到现在已经有几十年的时间了,主要代表为gRPC、BRPC、Thrift,它们也都有对外开源的代码。
第二类是带治理功能,但是语言比较单一,主要的代表是以Java为主的Spring Cloud、dubbo等。
第三类就是Service Mesh,主要代表产品是Linkerd和ISTIO,这是未来的发展方向。
最后就是TARS,不仅支持多语言,还附带一些服务治理相关的功能产品。
TARS的架构体系如下:
1. TARS简介:TARS是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C++、Java、PHP、Nodejs、Go语言。该框架为用户提供了涉及到开发、运维、以及测试的一整套解决方案,帮助一个产品或者服务快速实现开发、部署、测试,以及上线。
2. TARS整体架构:TARS的架构包含Devops相关方面、底层OSS的服务治理、支持的协议、服务治理的功能等。TARS支持五大编程语言,其中包括C++和JAVA、nodejs和PHP和GO,也可以扩展其它语言。
3. 服务治理:服务治理最重要在于客户端和服务端之间的调用,通过registry实现自动区域感知。此外,TARS还支持SET模型、流量控制、分布式跟踪和服务配置管理等功能。
gRPC架构体系:
gRPC主体是一个RPC框架,同样也定义了负载均衡策略。gRPC主要基于Protocol Buffers框架,Protocol Buffers是Google出品的序列化的框架,与开发语言和平台都无关,具有良好的可拓展性,可用于数据存储和通讯协议。gRPC官方介绍虽然简单,但实际应用时需要额外的脚本和参数。gRPC可以实现多数语言的代码客户端生成,但需要用户进行一些改造以实现与gRPC框架的集成。
Service Mesh的探索:
Service Mesh是一个相对底层的架构,作为微服务的底层架构。主要产品有linkerd和Istio,它们可以直接从底层做一些链路追踪方面的事情,通过应用下沉提高了系统的适用性。Service Mesh架构将服务做得很薄,将所有微服务治理的东西全部放到下层,从而实现整个服务的流量控制。
TARS与gRPC的对比:
TARS使用的是完整的微服务体系,非常方便快捷。如果使用gRPC,则需要自己建设周边的体系。未来腾讯云将以Service Mesh为主,慢慢替代原有框架。如果大家还在做框架开发相关的业务,可以慢慢地往Service Mesh上面靠。
Q&A:对于Service Mesh,Service Mesh相当于将所有的服务治理都单元化集成到某个应用中。每一个单元的负载均衡或流量控制,通过Sidecar实现流量的转化和分发,Sidecar获取目的地址并搭配策略做映射,实现流量均衡。
讲师简介:田甜,腾讯高级工程师,对分布式架构与容器化技术有深入研究,具有丰富的分布式架构设计开发与项目实践经验。目前专注TARS-GO框架开发,是TARS-GO早期发起人和最核心开发成员之一,也是腾讯游戏数据研发工程师,致力于在数据服务场景中应用微服务架构。
热心网友
时间:2024-10-21 13:22
目前开源界的微服务框架大体可以分为以下四个种类。
第一类是无服务治理的,这一类基本可以看做是一个RPC框架。RPC发展到现在已经有几十年的时间了,主要代表为gRPC、BRPC、Thrift,它们也都有对外开源的代码。
第二类是带治理功能,但是语言比较单一,主要的代表是以Java为主的Spring Cloud、dubbo等。
第三类就是Service Mesh,主要代表产品是Linkerd和ISTIO,这是未来的发展方向。
最后就是TARS,不仅支持多语言,还附带一些服务治理相关的功能产品。
TARS的架构体系如下:
1. TARS简介:TARS是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C++、Java、PHP、Nodejs、Go语言。该框架为用户提供了涉及到开发、运维、以及测试的一整套解决方案,帮助一个产品或者服务快速实现开发、部署、测试,以及上线。
2. TARS整体架构:TARS的架构包含Devops相关方面、底层OSS的服务治理、支持的协议、服务治理的功能等。TARS支持五大编程语言,其中包括C++和JAVA、nodejs和PHP和GO,也可以扩展其它语言。
3. 服务治理:服务治理最重要在于客户端和服务端之间的调用,通过registry实现自动区域感知。此外,TARS还支持SET模型、流量控制、分布式跟踪和服务配置管理等功能。
gRPC架构体系:
gRPC主体是一个RPC框架,同样也定义了负载均衡策略。gRPC主要基于Protocol Buffers框架,Protocol Buffers是Google出品的序列化的框架,与开发语言和平台都无关,具有良好的可拓展性,可用于数据存储和通讯协议。gRPC官方介绍虽然简单,但实际应用时需要额外的脚本和参数。gRPC可以实现多数语言的代码客户端生成,但需要用户进行一些改造以实现与gRPC框架的集成。
Service Mesh的探索:
Service Mesh是一个相对底层的架构,作为微服务的底层架构。主要产品有linkerd和Istio,它们可以直接从底层做一些链路追踪方面的事情,通过应用下沉提高了系统的适用性。Service Mesh架构将服务做得很薄,将所有微服务治理的东西全部放到下层,从而实现整个服务的流量控制。
TARS与gRPC的对比:
TARS使用的是完整的微服务体系,非常方便快捷。如果使用gRPC,则需要自己建设周边的体系。未来腾讯云将以Service Mesh为主,慢慢替代原有框架。如果大家还在做框架开发相关的业务,可以慢慢地往Service Mesh上面靠。
Q&A:对于Service Mesh,Service Mesh相当于将所有的服务治理都单元化集成到某个应用中。每一个单元的负载均衡或流量控制,通过Sidecar实现流量的转化和分发,Sidecar获取目的地址并搭配策略做映射,实现流量均衡。
讲师简介:田甜,腾讯高级工程师,对分布式架构与容器化技术有深入研究,具有丰富的分布式架构设计开发与项目实践经验。目前专注TARS-GO框架开发,是TARS-GO早期发起人和最核心开发成员之一,也是腾讯游戏数据研发工程师,致力于在数据服务场景中应用微服务架构。