Новости‎ > ‎

ProstoDiary: Мысли о дроблении монолита

Отправлено 31 янв. 2020 г., 08:46 пользователем Deni Baskovsky   [ обновлено 11 авг. 2020 г., 03:31 ]
Умение масштабироваться необходимо для выбивания в лидеры. Только так могли возникнуть и существовать гугл, амазон или нетфликс. Поэтому я решил решил разделить проект на три части: assistant, core, bot.

Assistant
  • Telegram
  • Email
Текущий монолит страдает тем что он совмещает в себе обработчик телеграм запросов и неполноценный email слушатель. Разделение позволит качественно улучшать каждого ассистента, а также добавлять новых ассистентов по мере возникновения потребности.

Core
Это ядро трансляции обычных запросов в понятный JSONLD. Оно будет вшиваться в ассистенты и доступно публично. Запросы могут быть обычными текстовыми, бинарными фото, XML и прочими mime-типами. Формирование ядра позволит выделить основные функции и работать с ними изолированно, повысив общее качество. В качестве вынужденной меры ядро пока будет использовать внешнее API для формирования подписанного JSONLD, но заложит фундамент для переноса таких библиотек внутрь себя.

Bot
Итогом первых двух проектов станет очистка репозитория. Бот будет принимать только JSONLD (через JSON RPC API) и отправлять только JSONLD. 
Функционал бота станет следующим:
  • JSON RPC
  • WebServer
  • Database
  • OIDC
Comments