首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微服务和低延迟传输

微服务和低延迟传输
EN

Stack Overflow用户
提问于 2019-01-04 15:33:10
回答 2查看 1.4K关注 0票数 0

我只知道微服务世界中两种流行的传输协议: REST/HTTP和AMQP。

我觉得这有两个问题:

( 1)你不认为它们很慢吗?如果您不同意这一说法(是的,是的,我没有关于AMQP的基准,尽管HTTP被广泛认为是慢的,您可以在没有我帮助的情况下在互联网文章中找到),那么我可以告诉您,在很少选择2的情况下,您总是可以想象有许多更快的协议没有被表示出来。2是一个很小的数字,意思是,在实践中-没有选择。

( 2) HTTP看起来并不打算成为服务器对服务器的协议,但是在这个角色中被广泛使用。

您对此有何看法?您能提出一些替代方案(由框架支持,我指的是我自己不需要从头开始编写的东西)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-05 02:07:59

这一切都取决于您的领域场景,它的需求,以及您可以在开发中投入更低的延迟,更小的带宽等。

今天,服务器通信有各种各样的选择。Https恰好是最常见的,对许多应用程序来说都足够好。

如果您控制了通信的两端,没有什么可以阻止您投入更多的精力,并基于UDP套接字构建您自己的二进制协议,或者在OSI层中更低。例如,谷歌正在使用奎克,并提议将其作为http/2的继承者。因此,实际上,http/3可能会变得更有效率。

或者,您可以尝试实现现有的标准,这些标准对延迟甚至实时应用程序进行了更多的优化。工业领域的一个例子是profinet

但是,很多时候,有效载荷是造成缓慢连接的原因。JSON是格式的一个很好的例子,它需要大量的时间去反/序列化。为了改善这种情况,您可以使用不同的传输格式,例如游戏领域的扁平缓冲器 (谷歌的另一项发明)。

一般来说,如果你做一些关于游戏中如何建立网络的研究,你会发现很多有趣的技术。

票数 3
EN

Stack Overflow用户

发布于 2019-01-06 16:18:28

首先,请将体系结构主题与实现主题分开。一方面是架构,另一方面是实现。Microservices正在讨论SOA中的一种新范式。现在,在实现阶段,您可以使用几个协议来实现您的微服务大小服务。您可以使用UDP、TCP、HTTP等。在微服务中广泛使用的HTTP协议(如无状态等)并不一定意味着在实现阶段的所有微服务都需要使用HTTP。他们可能/可以使用HTTP或任何其他传输协议,如UDP,甚至CoAP。

下面是一组关于代码项目中的微服务的文章,如果你愿意的话,你可以阅读和评论你的问题。

https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-I

https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-II

https://www.codeproject.com/Articles/1264113/Dive-into-Microservices-Architecture-Part-III

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54041918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档