Сайт Москвы за 6 месяцев / Игорь Цупко (Notamedia)

Post on 16-Apr-2017

263 views 1 download

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

Самописныйфреймворк

Либа не моя, я просто дописал кусок

Побеждаем драконов

Семантическое версионирование

Семантическое версионирование

Семантическое версионирование

Семантическое версионирование

Семантическое версионирование

Семантическое версионирование

Семантическое версионирование

Резюме: гибкость

Резюме: гибкость

Резюме: гибкость

Резюме: гибкость

Жёсткие правила

Жёсткие правила

Жёсткие правила

Жёсткие правила

Жёсткие правила

skype: may_cat_ghost

e-mail: root@may-cat.ru

http://may-cat.ru

Примеры инфраструктурного ПО

Про утку

Про утку самолёты-лодки

Про утку самолёты-лодки