Size: a a a

2017 July 27

M

Mark in Node.js SPb
🙃
источник

M

Mark in Node.js SPb
А когда следующие встречи? В сентябре?
источник

VI

Viktor Isaev in Node.js SPb
Да, думаю, в сентябре
источник
2017 August 03

NK

ID:57684913 in Node.js SPb
народ, сорян за дичайший оффтоп (шутка :) - кто-нибудь юзает gRPC где-нибудь? %)
источник

VI

Viktor Isaev in Node.js SPb
неа
источник

NK

ID:57684913 in Node.js SPb
я вот год с kubernetes в продакшне поколбасился, теперь хочу спрыгнуть на gRPC/protobuff + istio/microservices
отговорите меня, или через пару месяцев будьте готовы выслушать юзкейсы :)
источник

VI

Viktor Isaev in Node.js SPb
Не, мы не будем отговаривать, лучше выступи и нас просвети ☺️
источник

NK

ID:57684913 in Node.js SPb
типа насобирай граблей и скажи "туда не наступать"? :)
источник

VI

Viktor Isaev in Node.js SPb
Конечно!
источник

VI

Viktor Isaev in Node.js SPb
А ещё, если выступишь, карма повысится
источник

NK

ID:57684913 in Node.js SPb
ну я и так наверное в следующей жизни буду как минимум котиком... шутка )
источник

VI

Viktor Isaev in Node.js SPb
Ну это не самый плохой вариант 😄
источник

NK

ID:57684913 in Node.js SPb
ты наверное в курсе что я увлекаюсь микросервисами, и до сих пор в них нихрена не шарю :)
основные траблы можно объединить в несколько пулов трабл: транспорты, мониторинг/логгирование/дебаг, деплой/оркестрация

по каждому из пулов куча инфы для обсуждения на самом деле, все офигенски интересно :) щас конкретно по транспортам расскажу свой поток сознания:
за последние два года я перемерил кучу их...

фулер в своих статьях все время говорит "глупые каналы передачи данных, умные эндпоинты"... на самом деле это только один из паттернов проектирования, то есть не истина высеченая в камне
все их виды можно разделить на две группы: pull и push


все push-паттерны это условно говоря "пушим логику куда ни попадя": http/https (со всевозможными rest, graphql и прочим), http2 (персистентные конекшны) и тп
проблема этих паттернов в том что, условно, если сервису А надо отрабатывать действия из сервиса Б то надо чтобы сервис Б после действия разослал всем уведомления "я сделал это", то есть отсылка уведомлений спецом прописывается в бизнес-логике... жутко неудобно (стоимость модификаций большая)

pull-паттерны это то что называется "event-driven микросервисы": сюда попадают такие протоколы как ampqp, mqtt и прочие, грубо говоря все кому не лень эмиттят события и те кому лень их слушают
любые действия эмитятся глобально и все кому надо подписываются... удобно но не очень (потом начинаешь задумываться о безопасности, нагрузке на каналы и тп)


вот и получается: с одной стороны, щас популярны push - все под них щас заточено но они ограничены и есть доструя решений исправляющих их слабости (kubernetes/istio/linkerd/куча-непонятных-слов), с другой стороны pull нигде не рекламируются но неистово юзаются во всяких крутых конторах и имеют все что надо из коробки

и там и там есть свои аутсайдеры, есть чемпионы
так, размышлений ради решил написать, и вдруг кто захочет ковырять все это под пиво сможем обсудить :)
источник

NK

ID:57684913 in Node.js SPb
вы кстати как сообщения обрабатываете, через сервера очередей?
источник

VI

Viktor Isaev in Node.js SPb
У нас щас акторы + тупая очередь
источник

VI

Viktor Isaev in Node.js SPb
Сообщения извне обрабатываются специализированными акторами
источник

NK

ID:57684913 in Node.js SPb
о, по поводу акторов: помнишь я выступал с критикой senecajs и потом рассказывал что начал пилить свой а-ля-паттерн-матчинг?
в целом он норм и уже год в продакшне полет нормальный
но, я прихожу к выводу что заточка под определенный язык это плохо
источник

VI

Viktor Isaev in Node.js SPb
Результатом обработки актором внешнего сообщения может являться внутреннее событие, которое актор отправлят родителю
источник

VI

Viktor Isaev in Node.js SPb
Заточка под язык... мне кажется, это хорошо, если язык хороший :)
источник

NK

ID:57684913 in Node.js SPb
проблема в том что любой программист рано или поздно меняет язык :)
источник