高手问答第 255 期 —— 5G 背景下海量请求如何用微服务 hold 住

雑人 发布于 09/13 19:39
阅读 6K+
收藏 6

随着 5G 的到来,各个行业都要面对海量请求,微服务架构在这个时代对企业而言有着举足轻重的作用。微服务架构存在运维难、监控难、实操难等问题, 而 Tars 是实现微服务架构优秀的一个选择。Tars 是高性能、多语言的微服务治理框架 ,在超过 120 家公司的 261,200 台服务器上稳定运行。

OSCHINA 本期高手问答( 2020 年 9 月 14 日——2020 年 9 月 20 日 ) 请来了俞慧涛老师 @kerriganA如果你对 Tars 感兴趣,不管是架构 ,还是适用场景,都可以在这期高手问答得到启发。

问答主题

本次问答主要包括以下方向:

  1. Tars 架构、包含协议实现、系统性能
  2. Tars 与其他的开源框架如何结合 ,如 mybatis、 springcloud、springboot
  3. Tars 适用的场景

有其他相关的问题,也欢迎提问。

嘉宾简介

俞慧涛阅文集团后台开发专家, 负责阅文集团用户中台服务与 TarsJava 的技术设计工作。在阅文主导了 Tars 微服务在海外项目 、红袖新兴项目的应用。在流量高、 变化频率快的业务场景下也能保证其架构的稳定性。腾讯开源 TARS 项目贡献者, 在处理 RPC 、k8s 微服务上面有深入的实践经验。

为了鼓励提问,TARS 基金会会在问答结束后从提问者中抽取 7 名幸运会员赠与星空雨伞,另抽取 3 名幸运会员赠与限量版公仔 TARS.Q。

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就相关问题向俞慧涛老师 @kerriganA 提问,请直接回帖提问。

加载中
0
W
WindSpeed

5G背景就是一个伪命题,4G背景也是一样的,因为用户就那么多

W
WindSpeed
回复 @kerriganA : 设备多,但用户数量还是那么多,使用4G和5G是没有区别的,说白了就是网速问题,一个网速快和一个相对来说慢一点,但4G本身并不慢,所以5G就是伪命题,并不会有爆发式的增长了,不像3G到4G的是革命式的升级
kerriganA
kerriganA
回复 @WindSpeed : 并不会,从现在的4g5g的增长来看。移动设备每年可以最大有12%增加,而物联网后。更多的设备会联网,流量的请求会更大
W
WindSpeed
回复 @kerriganA : 这本身就是伪命题,请求量和用户成正比,用户就那么多,5G,4G一个样
kerriganA
kerriganA
5G下用户的请求量会比原本4g更多,稳定的微服务架构可以更好的服务于用户
1
xplanet
xplanet

高手问答第 255 期 —— 5G 背景下海量请求如何用微服务 hold 住 
恭喜 @xiafix @张祥d @Julian2018 @aaaak @山间无涯 @Atlantis @peace710 分别获得星空雨伞一把
恭喜 @A阿福A  @萌唬吓删 @猪娃娃 分别获得限量版公仔 TARS.Q 一只
请私信 @xplanet  告知快递信息(格式:姓名+电话+地址)

0
萌唬吓删
萌唬吓删

@kerriganA 老师,

Tars 的使用优势在哪些方面呢? 如果使用单一Java语言的小型微服务架构,是不是使用SpringCloud/SpringCloud alibaba 这样的全家桶就足够了呢?

kerriganA
kerriganA
Tars提供的集成环境会更加的一体化,因为它包含了发布监控一体化的功能哈。若是现在使用了SpringCLoud的话。且不想改代码 ,也可以使用Tars当作一个发布平台。也是没有问题的。
0
张祥d
张祥d

@kerriganA  你好,请问在部署项目的这个方面,docker容器和tars的最大区别是什么?或则说tars的优势是什么?

kerriganA
kerriganA
他们两者的关系没有可比性。Docker是进程资源隔离的框架,他解决的是资源共享可以隔离的问题 ,Tars是微服务框架 ,解决的是服务与服务间通信的问题。所以现在的Tars集成了Docker.
0
猪娃娃
猪娃娃
你好,请问tars设计理念和要解决的核心问题是什么?
kerriganA
kerriganA
Tars 核心解决 微服务治理与运维发布一整套系统需要大量的时间与实践,而Tars这一套整体系已经完整的都提供了。
0
WanAsan
WanAsan

@kerriganA 你好!Tars的设计思路

kerriganA
kerriganA
TARS 协议采用接口描述语言(IDL)来支持多种编程语言,C++、Java、Node.JS、PHP、Python、Golang等,使不同平台、不同语言编写的程序能够相互通信交流,打破语言屏障。 平台运维方面也实现了监控、熔断、链路追踪等功能。
0
贺小皮蛋
贺小皮蛋

来学习了 如果是海量请求,网关肯定扛不住

kerriganA
kerriganA
新的TarsGateway网关使用的是c++编写纯异步的服务 。服务的负载取决于部署的节点数 和cpu的量哈, https://github.com/TarsCloud/TarsGateway 在测试过程人也可以把所有的核心的cpu都打满。具体睦服务的实现
0
nimagugu
nimagugu

tars的生态环境不好,4月入坑3天即没用了,完全是小众在玩

kerriganA
kerriganA
回复 @kerriganA : Tars的优势也是可以结合各个语言的生态来打造微服务,php、 c++、java、golang,当你需要一个语言中的依赖仅c++有的时候 。就可以使用C++来写tars服务
kerriganA
kerriganA
整体的tars平台在各个语言的组件连接得非常的好哈。tarsjava与其他的各个开源的组件都可以无鏠链接 。不管是spring,spring cloud都有非常多的成熟的案例可以组合哈。 使用者也不算小从了哈。现在github上面tars项目总量也有8k的星星了,除了腾讯,虎牙等大型公司都有使用
0
xiafix
xiafix

@kerriganA  目前,公司主要用springboot netflix和alibaba 2种版本,缺点是与java语言绑定。正在落地istio servermesh微服务方案。因为不熟悉tars,想问一下,tars有语言限制没? 和istio、linked相比,有哪些异同。因为基础架构部的人员和规模有限,在选型时会比较慎重,尽量会选使用范围广、有可能成为事实标准的开源软件。

kerriganA
kerriganA
Tars没有语言限制 ,主流的语言都支持。当公司基础架构部的人少的时候 。Tars是一个非常 明智的选。 Tars相比其他的方案。在各个环节都有有考虑到。使用起来相对会简单很多。比如“监控、节点熔断、运维操作”等等
0
A阿福A
A阿福A

@kerriganA 俞老师您好,请问Tars在使用场景上,有没有简单的划分建议?主要关注在微服务能够支撑多少业务量的情况下,Tars的性能会比较好?简单点说,有没有一个考量标准,在承接大量业务压力的情况下,Tars这种一体化框架会对业务产生一些反向作用?先谢谢您~

A阿福A
A阿福A
回复 @kerriganA : 好的谢谢,那就需要对这个框架了解和掌控的比较好,还需要多花时间呢
kerriganA
kerriganA
现在的Tars的话。qps一秒百万级的请求都没有问题( 一组服务器)。也有很多这样的服务 。所以对tars而言,当企业的业务量越大,划分合理的时候 。都可以承载得住 。使用Tars框架若是划分得比较细且业务规划不当的话。容易造成服务过多的情况 。需要结合自身的业务做微服务的划分
返回顶部
顶部