TGViewer
Библиотека PHP программиста 👨🏼‍💻👩‍💻 Библиотека PHP программиста 👨🏼‍💻👩‍💻 @php_lib · 2.06K subscribers
Post #372 835
Архитектура на «микросервисах» в монолите: проект из практики

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

На старте было просто: связаться с нами можно было только через почту. Входящим ящиком был IMAP, исходящим — SaaS сервис по отправке почты, забрать письма с которого было то еще приключение. Мы смотрели на заголовки и соединяли письма в цепочки, как в любом почтовике: Gmail, Outlook. В таком виде передавали операторам.

Но оказалось, что с теми метаданными, которые мы предоставляли операторам, им было неудобно работать — много времени отнимал поиск пользователей в базе по адресу почты и теме сообщений. Так появился проект линковка. Мы стали подвязывать к цепочкам писем id наших пользователей. Пришлось придумывать дополнительные поля, как все соединить и куда вместить в базе.

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

Со временем увеличилось и число ящиков, куда мог написать клиент. Появились ящики техподдержки, кризис-менеджеров, сейлзов. Чем дальше, тем оказалось сложнее добавлять новые. Чтобы не прийти к ситуации: «Ребята, сколько времени нужно, чтобы добавить новый ящик? В смысле месяц?» — мы задумались о новой архитектуре.

Все решила новость о том, что к нам также заезжают телефония, WhatsApp и внутренний чат сайта...

https://habr.com/ru/companies/oleg-bunin/articles/656095/

👉 @php_lib
Хабр Архитектура на «микросервисах» в монолите: проект из практики В Skyeng есть команда коммуникаций. Мы предоставляем инструменты для связи оператора с пользователем. Например, ученику плохо слышно преподавателя на уроке и он хочет связаться с поддержкой, чтобы...
  • 👍 1
More from @php_lib
  1. Sep 30, 2026Оптимизация скорости работы PHP кода 🏎️ Сегодня я покажу вам несколько простых, но эффект…
  2. Sep 24, 2026Сегодня хочу поговорить о теме, которая часто мешает PHP-разработчикам писать красивый и у…
  3. Sep 21, 2026Совет по Laravel💡 Если вы хотите автоматически удалять старые записи, используйте трейт P…
  4. Sep 16, 2026Совет по Laravel💡 Знаете ли вы .... tap() = Tweak and Return 🪄 Да, в Laravel метод tap()…
  5. Sep 9, 2026Совет по Laravel💡 Знаете ли вы... В Laravel есть метод withProgressBar(), который позволя…
  6. Sep 7, 2026💡Совет по Laravel Определение языка пользователя Laravel использует компонент HttpFoundat…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →