大使在分布式系统中的概念是什么?

有人能够简单地向我解释集体计算大使的架构概念吗? 在微服务架构模式中实现它有什么好处?

我最近一直在研究docker和docker群,而且我已经看到这个术语在不同的文章或回购中被重复提及。 例如,在这个惊人的项目中 ,他们有一个名为docker-ambasssador的仓库 。 或者这个其他项目叫做ctlc-docker-ambassador 。

一般来说,微服务的主要好处之一就是能够切换底层组件,而不需要应用程序/生态系统的其他人知道变化。 大使模式允许件移动和改变,而消费代码继续连接到一个位置。 你提供的一个链接有一个很好的解释/例子:

“而不是硬编码服务使用者和提供者之间的networking链接,Docker鼓励服务可移植性,例如:

(消费者) – >(redis)要求您重新启动消费者以将其附加到不同的redis服务,您可以添加大使:

(消费者) – >(redis-ambassador) – >(redis)或者

(消费者) – >(redis-ambassador)— network —>(redis-ambassador) – >(redis)当你需要重新连接你的客户与另一个Redis服务器通信时,你可以重新启动消费者连接到的redis-ambassador容器。 `

在这种情况下,底层组件(redis)可以被移动或更新,而不需要使用redis知道的代码。 如果代码更聪明,它甚至可以允许从redis切换到另一个kv存储。