Как обновить все реплики при попадании в конечную точку - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть 3 реплики одного и того же приложения, работающего в kubernetes, и приложение предоставляет конечную точку. Попадание в конечную точку устанавливает значение булевой переменной в true, которое используется в моем приложении. Но проблема в том, что при попадании в конечную точку переменная обновляется только в одной из реплик. Как внести изменения во все реплики, просто нажав одну конечную точку?

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Похоже, вы пытаетесь решить проблему с вашим приложением, используя Kubernetes. Позвольте мне уточнить:

  1. Если у вас есть несколько модулей за службой, вы не можете получить доступ ко всем из них с помощью одного запроса. Это было предложено здесь , но, на мой взгляд - не лучшая практика.

  2. Если вам нужно обмениваться данными между вашими приложениями, вы можете дать им возможность общаться друг с другом с помощью службы кластеров.

  3. Вы, вероятно, предполагаете, что можете обмениваться данными с использованием томов Kubernetes, таких как gcePersistentDisk или некоторого другого типа тома, но опять же, тома не предназначались для решить такие проблемы .

В заключение, я бы решил такую ​​проблему, предложив стручкам сообщать об изменениях друг с другом. Kubernetes не может решить эту проблему за вас.

РЕДАКТИРОВАТЬ: Другой подход может быть с общим хранилищем (например, один модуль, содержащий mongoDB, например), но я бы сказал, что это немного излишним для вашей проблемы , Кроме того, потому что для связи с этим модулем вам, вероятно, все равно понадобится связь в кластере.

1 голос
/ 28 апреля 2020

Вам необходимо хранить ваши данные в какой-либо общей базе данных, а не локально в памяти. Если все, что вам нужно, это временный флаг, Redis будет популярным выбором, или для более прочных вещей Postgres является золотым стандартом. Но существует широкий и прекрасный мир баз данных, изучите, какие из них соответствуют вашему варианту использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...