UPD: Добавили запись
Меня зовут Дима Орлов, я руковожу группой разработки «Путь закупки» и пишу на C# больше 10 лет. По совместительству преподаю на курсе «Продвинутая разработка микросервисов на C#» Route 256.
C# — один из основных языков, используемых в Ozon. У нас сотни микросервисов на C#, обеспечивающих работу сайта, склада, систем логистики и платформы собственных продаж. Работают над этим более 500 С#-разработчиков, готовых погружаться в business-critical проекты.
Сложность проектов часто обусловлена не только технической частью (хайлоад — миллионы товарных движений в сутки; строгие требования к доступности и отказоустойчивости — SLA 99,99%), но и непростой доменной областью.
В разработке используем .NET 5/6, базы данных: PostgreSQL, MS SQL Server, шина данных Apache Kafka. На фронте — Vue.js и React. Следим за всем с помощью Jaeger, Grafana, Graylog, Prometheus. В инфраструктуре нам помогают Docker, K8s, Gitlab.
В работе часто используем опенсорс и сами стремимся развивать проекты с открытым исходным кодом. Придерживаемся подхода Platform as a Service — предоставляем набор фреймворков и библиотек, которыми разработчики пользуются каждый день в своей повседневной работе.
На митапе поговорим о наших проектах подробнее.
В программе
Дмитрий Орлов
Руководитель группы разработки «Путь закупки» в Ozon
Дилемма кота Матроскина
Поговорим о наборе микросервисов «Потребность». Каждый день по набору товаров (±300к) он считает, сколько, на какой склад и у кого закупить товары.
Обсудим бизнес-составляющую, по технической части сконцентрируемся на Kafka, компонентном подходе и сериализации правил.
Веселые истории про фиаско — бонусом!
Слайды
Николай Гущарин
С#-разработчик в Ozon, преподаватель на курсе «Продвинутая разработка микросервисов на C#» Route 256.
@Nickholas Не пиши однообразный код! Генерируй!
Расскажем о том, как мы с помощью SourceGenerator (автоматической генерации исходного кода) решили сразу две проблемы: избавились от конфликтов версий пакетов при распространении клиентов для веб-сервисов и начали экономить время и силы на написании однотипного кода. А также уменьшили количество багов, благодаря тому, что код генерируется всегда по заранее определенным правилам.
Покажем, как внутри работают генераторы исходного кода, как их создавать и в каких еще случаях их можно применять. Какие были альтернативы для решения наших проблем и почему они нам не подошли.
Слайды
Встречаемся онлайн и офлайн
Приходите в гости в офис Ozon («Башне на Набережной» в Москва-Сити). Количество мест в зале ограничено — убедитесь, что вам пришло подтверждение для посещения офлайн. Если возникнут вопросы — обращайтесь в телеграм @ozon_tech_help.
➡️ Регистрируйтесь и подключайтесь. Запись будет :)
До встречи в среду!
UPD: Спасибо всем, кто пришёл и задавал вопросы!