megido
1.11K subscribers
103 photos
6 videos
3 files
59 links
Технологический Brain Dump
Download Telegram
#booking #tech #graphql

Регулярно получаю вопросы об используемых технологиях в Букинге. Ниже небольшой write-up об этом.

- Последние пару лет мы активно переезжаем на GraphQL на вебе и в мобильных приложениях, обновляя попутно tech stack, и перелопачивая кучу старых систем
- На бакенде всё ещё много perl кода на bare metal серверах
- Почти все новые сервисы пишутся на java (dropwizard, spring)
- В целом активно распиливается старый монолит на SOA (service oriented architecture). Менеджим свои kubernetes кластеры, можно легко и быстро деплоить сервисы. Используем envoy в качестве service mesh. Некоторые системы пробуем разворачивать на public cloud
- Есть команды, пишущие на go (network, security)
- ML/DS естественно на python/R.
- Базы данных по большей части mysql, есть cassandra, RocksDB и другие, решающие специфические задачи определенных областей.
- Time-series ивенты - graphite, мониторинг - grafana, pagerduty для инцидентов.
- На фронтенде тоже много старых шаблонов, но по большей части много React.js, в некоторых местах есть vue.js, но в целом переезжаем на концепт MFE - Micro Front End. По подобию с бакендом, распиливаем веб фронтенд на мелкие node.js приложения, которые можно легко и быстро деплоить без больших и длительных релизов.
- iOS активно адоптит SwiftUI, выпиливая home-grown фреймворки. Также адоптим graphQL на мобилках для общения с серверной стороной. Есть самописная система для server-side UI.
- На Android похожая инициатива по декларативного UI - JetPack Compose, по архитектуре заменяем внутренние фреймворки заменяем на Google Arch
- Дизайнеры запилили свою design system, огромная работа! Называется BUI - booking user interface, кросс-платформенная реализация UI-элементов для единого UX-a.
- В целом очень много внимания уделяется модернизации и это радует. Причем не только в tech, но и по UI/UX (new design language adoption).

И вот недавно вышла статья в нашем блоге о том, как Букинг использует GraphQL и что такое Federation Gateway:

https://medium.com/booking-com-development/improving-graphql-federation-resiliency-ca3e95075de4
🔥13👍11⚡4