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

Как и любая другая технология, начало работы с новым инструментом требует большого количества чтения и учебных пособий. Только это качество и простота в наименьшем количестве. Тем не менее, теории гораздо больше, чем практических знаний о предмете (что и объясняет сериал).

Для краткости я пропущу определения и этапы настройки, надеясь, что читатель сделает домашнее задание на досуге.

Эта серия микросервисов представляет собой набор самоуверенных инструкций о том, как создавать микросервисы. Будем надеяться, что он снизится до 1001010101. В конце этой серии у нас будет полностью работающая система, состоящая примерно из 3–4 микросервисов, написанных на python (Django) и javascript (ExpressJS).

Поток

  1. ЧАСТЬ ПЕРВАЯ: Основание микросервисов. Здесь мы рассмотрим философию, на которой мы будем строить микросервис.
  2. Определение области/размера микросервиса. Очень спорная тема, которая оставляет многих поляризованными
  3. Инструменты микросервиса. С сотнями инструментов мы выберем несколько простых вариантов для начала.
  4. Шаблонирование и интерфейсы в микросервисах. По своей сути микросервисы не могут хорошо взаимодействовать без стандартов, т.е. API, интерфейсов и генераторов кода.
  5. Дизайн базы данных. В то время как для монолита требуется огромная база данных, для микропроцессора требуются отдельные и изолированные базы данных, которые создают проблемы с целостностью данных и дизайном. А также выбор между SQL и nosql
  6. Докер + Кубернет + Скаффолд. Подобно оркестру, микросервисы требуют некоторых инструментов для контроля и управления ресурсами.
  7. Связь между службами. Асинхронный vs Синхронный, тут будем строить и смотреть в обе стороны зеркала
  8. "Ведение журнала". Кто бы не хотел бросить беглый взгляд на зеленые и красные экраны. Что ж, ведение журнала имеет решающее значение в таком хаотичном мире микросервисов.
  9. Метрика и мониторинг. Надежность снова и снова проповедуется в микросервисах, но для этого нужно внимательно следить за производительностью системы и при необходимости настраивать или автоматизировать.
  10. Тестирование в микросервисах. Тестировать один сервис довольно просто, экстраполируйте это на 20–40, и больше ничего не складывается.
  11. Развертывание. От запуска кода в скаффолде до пайплайнов развертывания и Трэвиса

Как и до меня, многие написали достаточно интересные серии. Пожалуйста, ознакомьтесь с ними, так как вам будет намного легче следить за ними.