我正在阅读有关分布式系统
的内容,但对它的真正含义感到困惑?
我从高层次上理解,这意味着一组不同的机器协同工作以实现一个目标。
但这个定义似乎过于宽泛和松散。我想用几点来解释我困惑的原因:
我看到很多人将微服务称为分布式系统,其中订单、支付等功能分布在不同的服务中,而其他一些人则指可能试图为客户提供服务的订单服务的多个实例并可能使用某种共识算法来就共享状态达成共识(例如当前库存水平)。
在谈论
分布式数据库
时,我看到很多人谈论不同的节点,这些节点可能用于存储/服务部分用户请求,例如带有来自“A-C”主键的记录第二个节点中的第一个节点“D-F”等。在高级别上,它看起来像分片。当谈论
分布式速率限制
时。有些是指使用单个速率限制器的多个应用程序节点(所谓的分布式应用程序节点),有些则提到速率限制器本身具有多个具有共享缓存的节点(例如redis)。
感觉人们使用分布式系统
来提及微服务架构、水平扩展、分区(分片)以及介于两者之间的任何内容。
最佳答案
I am reading about distributed systems and getting confused with what is really means?
正如 @ReinhardMänner 所评论的,分布式系统 (DS) 的通用术语定义位于 https://en.wikipedia.org/wiki/Distributed_computing
分布式系统是一种其组件位于不同联网计算机上的系统,这些计算机通过从任何系统相互传递消息来通信和协调其操作。这些组件相互交互以实现共同目标。
任何符合上述定义的东西都可以称为DS。所有提到的微服务、分布式数据库等示例都是该概念或实现细节的具体应用。
声明“X 是一个分布式系统”本质上并不暗示任何此类细节,并且对于每个 DS 都必须明确指定,例如。分布式数据库并不一定意味着使用分片。
关于distributed-computing - 分布式系统是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72763123/