Что такое Moleculer и почему за него платят 200 тысяч?
easy

Что такое Moleculer и почему за него платят 200 тысяч?

О технологии для фулстек-разработчика

В этой статье мы разбираем технологию Moleculer — это ключевое слово всё чаще появляется в вакансиях фулстек-разработчиков с хорошими зарплатами. Посмотрим, что это.

Контекст и предыстория

Мы недавно рассказывали, кто такой фулстек и что он умеет:

  • Фулстек — это русская версия английского full stack: человек, который может использовать весь стек технологий веб-разработки.
  • Стек — это набор языков программирования, фреймворков, стандартов, баз данных и подходов к реализации.
  • Веб-сервисы и приложения состоят из двух частей: фронта и бэка.
  • Фронт — это видимая часть, за неё обычно отвечает такой стек: HTML, CSS, JS, Vue.js, Bootstrap и другие фреймворки для того, чтобы сделать на странице красиво.
  • Бэк — это то, что происходит на сервере. Для этого хорошо бы знать PHP, Pyhton, SQL, Linux и всё, что нужно для настройки сервера.
  • Фулстек умеет работать и с тем и с другим. Теоретически он один может запустить веб-приложение с нуля, но это долго, дорого и сложно.

Что такое Moleculer

moleculer.services

Moleculer — это фреймворк с открытым кодом для создания микросервисов. 

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

Микросервисы — это маленькие независимые программы внутри большого приложения. Они обновляются, поддерживаются и работают независимо, обмениваясь данными между собой. С одной стороны, это даёт большую гибкость в разработке, с другой — большую нагрузку на команду и сервер. Подробнее читайте в нашей статье про микросервисы.

То есть Moleculer — это набор инструментов, чтобы быстро запускать «молекулы» вашего кода: маленькие служебные модули, которые должны дружить между собой. 

Что умеет Moleculer

Вот что умеет Moleculer сразу после установки:

  • вести реестр служб;
  • автоматически обнаруживать новые сервисы; 
  • балансировать нагрузку между сервисами;
  • автоматически выключаться и перезапускаться при необходимости;
  • откатываться к предыдущим версиям и состояниям;
  • кешировать запросы и обращения;
  • работать без центрального сервиса.

А ещё Moleculer поддерживает модули расширения — например, с ними можно научить микросервисы работать с MongoDB, ElasticSearch, Slack, Jager и другими сервисами.

Пример кода на Moleculer (если вы знаете JavaScript, вам будет несложно примерно понять, что тут происходит):

Moleculer написан на Node.js, а он, в свою очередь, основан на JavaScript. Получается, что если вы знаете, как пишется и как выглядит код на JavaScript, то с Moleculer вы тоже легко освоитесь. 

Где это используется

Moleculer нужен в тех проектах, где требуется организовать работу на микросервисах. Например, в интернет-магазине, где за работу корзины отвечает один модуль, за рекомендации товаров — второй, за оплату — третий и так далее. Moleculer позволяет быстро объединить их в одну систему, чтобы они работали в связке друг с другом и могли обмениваться данными.

Так как Moleculer работает на Node.js, фулстеки в основном применяют его в веб-проектах и сервисах — это уменьшает количество языков, которые нужно знать, и упрощает разработку. 

Нужен ли мне этот ваш Moleculer прямо сейчас?

Лично вам, скорее всего, нет. Moleculer — это инструмент для разработки и поддержки больших сложных сервисов, которые вы можете делать по работе, но явно не в одиночку и явно не по вечерам как хобби. 

Знание этого инструмента может быть большим плюсом при устройстве на работу фулстеком, но только когда у вас уже есть база Node.js, JavaScript и других технологий. Просто так изучать эту технологию в отрыве от всего остального нет смысла. 

Как установить

Для работы Moleculer нужно, чтобы на компьютере был установлен Node.js. Если его ещё нет — почитайте, как мы это делали в программе с генератором паролей.

После установки Node.js пишем в консоли такую команду:

npm install moleculer-cli -g

Всё, Moleculer установлен, можно начинать работать. Для примера создадим шаблон проекта, который пока мало что умеет, но уже будет сразу запускаться и показывать статус сервисов. В той же консоли выполним:

moleculer init project moleculer-demo

Так мы создадим тестовый проект, который называется moleculer-demo. Программа задаст нам несколько вопросов по внутренней структуре проекта, а как будет готово — пишем в терминале:

cd moleculer-demo

npm run dev

После этого открываем в браузере адрес http://localhost:3000/ и попадаем на информационную панель состояния работы микросервисов. Сейчас там работают только базовые службы, но для тестового проекта этого хватит.

Что почитать

Самый лучший источник знаний по любому фреймворку — официальная документация. Ещё есть отдельный Дискорд-чат — там можно задать вопрос напрямую разработчикам и разобраться в сложных ситуациях.

Раз Moleculer написан на Node.js, то в большинстве непонятных ситуаций поможет знание Node.js — для этого лучше тоже сходить на официальный сайт.

Что дальше

Будем держать вас в курсе вакансий фулстеков в веб-разработке: если будет ещё что-то интересное по технологиям или фреймворкам — разберём в новых статьях.

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Аня Соколова

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Вам может быть интересно
easy
[anycomment]
Exit mobile version