Я строю свою первую систему, которая в значительной степени зависит от очереди сообщений по причинам, отличным от масштабирования. Чтобы сократить длинную историю, будет множество клиентов, подключенных к центральному серверу через Интернет, каждый клиент имеет возможность редактировать данные на сервере, когда такое событие происходит, другие клиенты должны обновляться в реальном времени.Шаблоны проектирования для инфраструктуры обмена сообщениями/событий
Кто-нибудь знает какие-либо установленные шаблоны проектирования, покрывающие такие сценарии?
Очевидный поток работы заключается в следующем:
Пользователь редактирует UI -> запись редактируется на дб -> сообщение добавляется в очередь -> других клиентов обновление
Моей единственной проблема с этим рабочим процессом что пользовательский интерфейс, который отредактировал запись, также будет прослушивать сообщение и, вероятно, без какого-либо взлома, а затем излишне обновлять себя. Ничего плохого в этом в принципе, но мой опыт с графическими интерфейсами GUI (который, как я полагаю, будет похож на шаблоны обмена сообщениями), такими как Passive View от Martin Fowlers, дает мне ощущение, что такой подход не может быть лучшим способом.
Система обмена сообщениями - это один большой шаблон наблюдателя, содержащий издателей и подписчиков. Я больше искал шаблоны, которые будут работать вместе с системой обмена сообщениями. – ChrisInCambo
Итак, вы ищете шаблон для клиентской или серверной стороны? Если серверная сторона, то не отправляйте обновления клиенту, который отправил информацию, если это будет проблемой. –