Сайт Москвы за 6 месяцев / Игорь Цупко (Notamedia)
-
Upload
ontico -
Category
Engineering
-
view
263 -
download
1
Transcript of Сайт Москвы за 6 месяцев / Игорь Цупко (Notamedia)
Сайт Москвыза 6 месяцев
Зачем создан mos.ru?
gbuzhilishnik.mos.rumsi.mos.rumoscowdebt.mos.rumgbc.mos.rugorfin.mos.ru mrko.mos.rumgc.mos.ruampp.mos.ruorgp.mos.ruceiis.mos.ruig.mos.ru schoolcard.mos.ru gormost.mos.rummc-rubezh.mos.rudruzhina.mos.rubalance.mos.rumsr.mos.ruvestnik.mos.rudt.mos.ru
madi.mos.rutransport.mos.rutroika.mos.rudogm.mos.rusnt.mos.rumrko.mos.rudzdrav.mos.rusport.mos.ruum.mos.rutravel.mos.rukultura.mos.rucult.mos.rumoscomtour.mos.rudkn.mos.ruatlas.mos.rucrowd.mos.rupgu.mos.rusearch.mos.rudit.mos.ru
talent.mos.ruhr.mos.rutrud.mos.rumd.mos.ruzags.mos.rumc.mos.rumosarchiv.mos.ruds.mos.rudgp.mos.rustroi.mos.rustroinadzor.mos.rumka.mos.ruexp.mos.rudgi.mos.rumgi.mos.rufond.mos.rufkr.mos.rurepair.mos.rudgkh.mos.ru
housing.mos.rumke.mos.ruggi.mos.rudepteh.mos.ruinvest.mos.rudnpp.mos.rudrnt.mos.rurmr.mos.rudrbez.mos.ruemercom.mos.rutender.mos.ruepr.mos.rubudget.mos.rufindep.mos.rudtu.mos.rumosgik.mos.rudvms.mos.rumoskomvet.mos.rueco.mos.ru
gorod.mos.ru
ag.mos.rupgu.mos.ru
data.mos.ru
Зачем создан mos.ru?
Наша техническая задача
Монолит vs SOA
Проблема монолита №1: сложные зависимости кода
Проблема монолита №2: версии частей проекта
Проблема монолита №3: если падать, то целиком
Проблема монолита №4:масштабируемость
Проблема монолита №5: шок от сторонних решений
Введение в SOA
Разница между монолитом и SOA
Преимущества
Приёмы ускорения разработки
Frontend
Frontend
Frontend
Angular
API
Эволюция адресов
Эволюция адресов
Эволюция адресов
Эволюция адресов
Составные, глобальные id
Составные, глобальные id
Сервис Суффикс Сущность
advisor 032 Категории Советника
advisor 034 Жизненные Ситуации
newsfeed 073 Новости
newsfeed 088 События Календаря
government 090 Департаменты
government 093 Персоны
Cервисы
Сервисы
Сервисы
Сервисы
Сервисы
api1/frontend api1/backend
Сервис 1
CMS / Application
api2/frontend api2/backend
Сервис 2
Виртуальная машина
Сервисы и монолит – дружба навек
Загрузка файлов
Загрузка файлов: очевидный путь
Загрузка файлов: очевидный путь
•
•
•
•
Загрузка файлов: правильный путь
Поиск
Поиск
Поиск
Поиск:
Сервис А
Сервис Б
Сервис В
API поиска
Очередь
Worker
DB Sphinx
Пользователи
Пользователи
APIсервиса
/bitrix/admin/some_admin_page.php
/api/service/v1/…/editor
<html>…</html><html>…</html>
Запрос доп. js, css, изображений и прочей статики
Общие библиотеки
Общие библиотеки
•
•
•
•
••
•
•
Общие библиотеки
•
•
•
•
••
•
•
Инфраструктура
Инфраструктура
•
•
•
•
•
•
•
Красиво?
А теперь – реальность!
Yii2
Битрикс
MongoDB Postgre
Самописныйфреймворк
Либа не моя, я просто дописал кусок
Побеждаем драконов
Семантическое версионирование
Семантическое версионирование
Семантическое версионирование
Семантическое версионирование
Семантическое версионирование
Семантическое версионирование
Семантическое версионирование
Резюме: гибкость
Резюме: гибкость
Резюме: гибкость
Резюме: гибкость
Жёсткие правила
Жёсткие правила
Жёсткие правила
Жёсткие правила
Жёсткие правила
Примеры инфраструктурного ПО
•
•
•
•
•
•
•
Про утку
Про утку самолёты-лодки
Про утку самолёты-лодки