Соглашения об именовании для микросервисов

Соглашения об именовании для микросервисов
Соглашения об именовании для микросервисов - growtika @ Unsplash

В настоящее время мы разделяем монолит нашего интранета на множество (микро)сервисов. Сам макет уже готов, и мы решили разделить их таким образом, чтобы только один сервис подключался к другому внешнему сервису. Один из этих сервисов, для наших новостей и календаря компании, должен подключаться к confluence.

Теперь моя проблема в том, как назвать эту службу? Должен ли он называться "News & Calendar" или "Confluence connector" (или аналогично).

Или мы должны использовать другую архитектуру сервиса? Разделить единый сервис на коннектор Confluence, который обрабатывает авторизацию и пересылку, и иметь два разных сервиса для новостей и календаря? (в общей сложности три)

Опишите мне роль этой службы

Каково наиболее точное суммирование ее обязанностей? Не только то, что она реализовала сегодня, но и с учетом всех будущих функций, которые она будет выполнять.

"Новости & Календарь"

Я понимаю, что эта услуга будет предоставлять все данные, связанные с новостями и календарем. Я не понимаю, откуда будут браться эти данные. Это может быть из собственной локальной базы данных, это может быть генерация совершенно случайного контента каждый раз, это может быть получение из Confluence, или это может быть получение из множества внешних сервисов.

"Коннектор Confluence"

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

Выберите имя, которое наиболее точно отражает интерпретацию, потому что именно в этом и состоит цель именования чего-либо: обеспечить, чтобы имя адекватно описывало то, что вы можете ожидать от этой вещи.

мы решили разделить их таким образом, чтобы только одна служба всегда подключалась к другой внешней службе

Похоже, что "Confluence connector" - это правильное название.

"News & Calendar", по совпадению, также может быть точным суммированием, потому что это единственные данные, которые вы в настоящее время получаете из Confluence, но нет никакой гарантии, что это останется верным в будущем.

  • Что произойдет, если вы будете получать новости не из Confluence, а из Google, которые (по вашему собственному определению) должны будут поступать из другого микросервиса ("Google connector"), который подключается к другому внешнему источнику (Google)?
  • Что произойдет, если теперь вы также будете получать содержимое самой вики-страницы из Confluence?

В любом случае "News & Calendar" больше не будет точным именем для вашего микросервиса, но "Confluence connector" все еще будет правильным.


LetsCodeIt, 28 декабря 2022 г., 15:08