java - 如果需要更低延迟的代码,我们为什么要选择微服务?
问题描述
在单体应用中,我们只需要进行函数调用或方法调用,而不是进程间通信。熟悉微服务架构的人能否帮助您了解如何使用微服务开发低延迟应用程序的原因?
我认为 Chronicle 框架声称您可以开发基于微服务的产品并使用 Chronicle 队列进行通信,而不会产生网络跳跃延迟。
解决方案
首先,该评论是完全正确的:微服务本身无助于延迟。理想情况下,它们仅(嗯,主要)通过将它们用作服务来与其他服务进行通信,从而增加了对网络/进程间调用的潜在惩罚。
但重要的是要理解:这个想法并不是说微服务依赖于它完成工作所需的 15 种不同的服务。您应该将它们视为独立的单元,它们旨在允许水平缩放(通过简单地添加“更多”实例)。
因此,关键要素是实际定义微服务架构。仅仅将单体架构转变为分布式服务系统,同时保持不必要的耦合是无法实现的。
推荐阅读
- c# - Xamarin:从本地文件(不是资源)导入 SKBitmap
- php - Wordpress - Use image from URL as a post thumbnail
- json - 如何在嵌套的 Pentaho 中获取路径 Json?
- javascript - 高效地循环数以千计的数组项并对不在本地存储中的每个项进行 api 调用
- javascript - 如何在 javascript 函数中使用接收到的消息中的变量?
- javascript - 如何更改 JavaScript 中的背景颜色?
- php - 试图获取非对象的属性“密码”
- angular - Angular 9:使用命名函数作为 then()、listen() 和 subscribe() 的参数的范围问题
- ssl - curl:(60)SSL证书问题:自签名证书
- python - Python Pandas:TypeError:第一个参数必须是用户定义函数中的字符串或编译模式