Upload
geekslab-odessa
View
72
Download
0
Embed Size (px)
Citation preview
Блеск и нищета микросервисов на
Node.JS@xanf_ua
WookieeLabsCEO
JavaScript.NinjaТренер
Kottans.OrgКотан-джаваскриптер
Кто я
KhJSОрганизатор
«Тебе это понравится»•Big Data
•Проект прошел точку самоокупаемости
•Сложные математические модели
•Это работает
RDD
ResumeDrivenDevelopment
Как это было
PHP .bat
R
C++
Python
Наведение порядка
Первые микросервисыBilling
Mailer
Cron
CRUD
Первые storage
Что дальше?•Больше вычислительных нод
•Личные демоны
•API
Service Discovery
Billing Mailer???
Message Broker
XML JSON
SHM Files
BabelFish
R
ScalaC++
Auto-scaling
CFRunner
CFRunner
CFRunner
CFRunner
CFRunner
CFRunner
CFRunner
CFRunner
CFRunner
CFRunner
ESB
EnterpriseServiceBus
ESB на Node.JS•Спагетти-код
•Неконтролируемый рост
•Garbage Collector
ESB на Node.JS
KISSDRYYAGNI
Контракты
WSDL
Pattern Matching
Seneca•Все есть микросервис
•Микросервисы обмениваются
сообщениями
•Транспорт – лишь абстракция
Обработка ошибок
¯\_( ツ )_/¯
Транзакции
Reserve Process Pay
IPC – это дорого
Calc Storage
IPC – это дорого
Calc Storage
Копии данных
Calc Storage
Split Brain
Резервные копии97%
Совет #1
Просто перезапусти это
Время ответа API
0
20
40
60
80
100
120
Chart Title
Совет #2
Логируй всё. Логируй красиво
Grafana
Совет #3Думай о
состоянии
Бесконечная очередь
Совет #4Умей считать до бесконечности
Дважды.
Взрыв в облаках
:(){ :|: & };:
Совет #5Знай слабые
места
«Хак»
Image
BinaryPayload
Base64
Архитектура
Image
BinaryPayload
Base64Image part
BinaryPayload chunk
Base64
Совет #6Помни: все лгут
Кто следит за следящими?
Совет #7
Аккуратно витай в облаках
Вопросы?@xanf_ua