У меня проблема, что etcd/consul/$ все, что вы пытаетесь решить. Потребители услуг должны разговаривать с поставщиками услуг, чрезвычайно гибкая распределенная система нуждается в механизме для вступления в брак с этими двумя.Зачем беспокоиться об обнаружении службы, когда связующее ПО, ориентированное на сообщения, выполняет эту работу?
Однако проблема «где потребители услуг идут с их запросами?». является старым, и IMO была решена с помощью MOM - ориентированного на сообщения промежуточного программного обеспечения.
В MOM идея состоит в том, что потребителям услуг не важно, где живут поставщики услуг. Они просто отправляют сообщение и имеют шину обмена сообщениями, заботясь о маршрутизации сообщения соответствующему потребителю. Могут быть несколько провайдеров, которые все делают одно и то же (кругооборот на основе очереди) или поставщик версий (/ v1/request переходит на один,/v2/запрос переходит к другому).
Это простой, мощный интеграционный шаблон, который полностью отделяет интерфейс службы от его реализации.
И все-таки я вижу эту странную одержимость обнаруживая поставщиков услуг, которые, как представляется, создать тесную связь между потребителями и поставщиками (в дополнение к нескольким другим анти-шаблонов, а также.)
Итак, что мне не хватает Вот? ТИА.