Go, ориентированная на сообщения.
Если вы выбираете обмен сообщениями в качестве стратегического подхода и реорганизуете (при необходимости) бизнес-логику вокруг JMS, тогда другие варианты остаются жизнеспособными и применимыми на местном уровне.
При таком подходе вы платите определенную фиксированную стоимость (рефакторинг) в существующей системе (с одним арендатором). Затем вы можете применять подходы различной степени сложности, начиная от простого разбиения (связывание на основе идентификатора @ Geziefer) до полномасштабного подхода shared-core-schema + extended-tenant-специфичные схемы, не влияя на архитектуру системы и дополнительный рефакторинг.
В дальнейшем вы будете иметь ортогональный контроль над потоками данных вашей системы через уровень обмена сообщениями (применение маршрутизаторов, фильтров, специальных путей обработки и т. Д.)
[редактировать по запросу]
В М.Т. это явно указывает на ориентацию сообщения. Но в качестве общей проблемы мы рассматриваем расширяющиеся интерфейсы и обогащенные потоки данных . В соответствии с подходом, основанным на API, вам необходимо тщательно ввести соответствующий дискриминант клиента во все необходимые интерфейсы (например, методы). Основанный на сообщениях (или, альтернативно, подход на основе контекста API) допускает нормативный (стабильный) интерфейс (например, message.send ()) и в то же время, допускает явные специализированные потоки данных. Если переключение на основную сеть на основе сообщений отсутствует в таблице, настоятельно рекомендуется рассмотреть возможность введения в свои API-интерфейсы единого контекста (например, «RequestContext»). Это единственное расширение должно охватывать все ваши будущие потребности в специализации.