这是一个令我讨厌的问题,如何编写一系列在不同位置的各种机器上运行的微服务,而无需对每个服务的每个位置进行硬编码?没有硬编码的微服务发现的最佳实践?
就像说例如我有服务A,它执行json消息的某种形式的验证。服务A在方框1,3,5上运行,随着需求增长,可以调出更多的实例。
现在说我有服务B,它看起来要打电话给服务A,我将如何与我的服务A所在的服务B进行通信?
可能的解决方案,我认为:
硬编码与服务A,然后委托任务分给服务A的所有实例“主”节点的位置服务B
消息队列的使用情况? - 服务B写入一系列消息队列,服务A实例从设置的消息队列中读取并将结果发送回服务B.
SSDP-利用某种形式的简单服务发现协议来广播哪些服务在哪里运行设置网络并跟踪这些服务。
我对这种建筑风格很陌生,所以我希望我没有遗漏一些非常简单的东西?