Никита
Различные микросервисы
Bogdan
Различные микросервисы
по rest api пускай между собой общаются
сomorsiс
а может event bus?
Никита
по rest api пускай между собой общаются
Я и думал рест, но вдруг есть бест практисес
Никита
а может event bus?
Не слышал, почитаю, спасибо!
Дима
RabbitMQ
Bogdan
ну смотря какая задача, на самом деле если что то вроде "обработать кучу фото в воркерах" - то хорош message broker. rabbitmq к примеру если проверить авторизован ли пользователь - то rest api для микросервисов ну и так далее, конечно же вообще еще можно организовать работу этого всего поверх БД с отслеживанием изменений в записях с помощью триггеров, к примеру) Но это больше на костыли похоже, как по мне
Gleb
Есть RPC, в частности поверх http. Ещё есть жёстко-типизированрые бинарные протоколы, типа Protobuf. Они быстрее, компактнее чем json, но и проблем от них много бывает при смене версий и интерфейса микросервиса.
Дима
Есть протоколы с версионированием
Дима
Типа сервер не забывает старые версии и позволяет ими пользоваться
Vitaliy
Йо! А есть такой модуль, который позволил бы: 1. Запустить дочерний процесс (сервер на ноде) 2.а Либо зарезолвить промис когда в stdout процесса появится искомая строка 2.б Либо зарезолвить промис когда сервер начнёт отвечать *Мне для тестов: надо в интеграционном тесте поднимать эмуляцию стороннего сервера. Nock не подойдёт, поскольку сложный протокол (SAML SSO — залогинивание в наш сервис с помощью учетки Azure Active Directory) **так-то я уже написал код, который поднимает, ждёт появления строки в stdout, и убивает по таймауту если нет строки, но не хочу этот код поддерживать :)
Evgeny
RabbitMQ
Чего вы постоянно рабби все советуете? На хл даже доклады перестали принимать - как собрать развалившийся кластер кроля
KlonD90
а чем так раббит хорош? (
KlonD90
я всегда какие-то свои пилил
Evgeny
Хз
KlonD90
ну я в том плане нужен ли модуль если ты ждешь строку
KlonD90
грепни ее
KlonD90
лол
Aleksei
в любой непонятной ситуации - грепай
Vitaliy
return new Promise(function(resolve, reject){ const proc = spawn('node some.js | grep string'); proc.on('stdout', function(){ resolve(); }) а вот что у тебя за сервер я хз });
Ооо, вот это интересный вариант, про греп не подумал, спасибо! Намного лучше чем на js буферизировать
KlonD90
tarantool - yahoo
Anonymous
потерял охуенный пиндосский материал по mongo
KlonD90
apt-get remove mongodb
Anonymous
там сначала в целом о дб было, а потом про mongo
KlonD90
все еще лучший материал про монго
Anonymous
дай бог здоровья
Anonymous
ирл охуенный
Anonymous
дай бог здоровья еще раз
Anonymous
в век твою доброту не забуду
Alex fivem
как поймать асинхронный throw?
Roman
тебе внутри setTimeout нужно ловить
Sergei
await a().catch((error)=>{})
Roman
либо вешай глобальный error handler на window
Roman
await тут не поможет
Alex fivem
да, await a().catch((error)=> console.log('await catch', error)); не работает
Sergei
🤔
Sergei
а в таймауте ерор
Sergei
все, продолбал
Roman
да, await a().catch((error)=> console.log('await catch', error)); не работает
у тебяв setTimeout свой контекст исполнения, он за пределами Promise, потому ловить его внешним try/catch бесполезно
Alex fivem
понял, т.е. снаружи поймать можно только так: process.on('uncaughtException', function (err) { console.log('uncaughtException', err); });
cloudedbe
разве нельзя авейт просто в трай засунуть
cloudedbe
try{ await doAsync(); } catch(e) { //handle error }
cloudedbe
?
cloudedbe
у меня есть жуткое желание вынести все json конфига зачем-то в json4 или как-то так. Хотя можно просто експортировать обьект в js файле
cloudedbe
это ведь странно?
Олекс
Привет, я делаю редизайн вконтакте а текже буду перписывать фронтенд и бекенд часть, кароч вк полнстю под ключ переделаю. Куда мне им написать что б показать результат?
сomorsiс
а ты осилишь?
Олекс
Олекс
Перепишешь бэкэнд вк?
ну на основе апи вк
I.
ну на основе апи вк
то есть не перепишешь
сomorsiс
всмысле напишешь бекенд на основе апи методов?
Олекс
то есть не перепишешь
апи вк дает токо вывод с бз, все остальное нужно писать на бекенде
Андрей
Андрей
Не нужно выкидывать исключение.
сomorsiс
окей, а зачем?
Олекс
окей, а зачем?
мне скучно
Олекс
мож на работу возьмут
сomorsiс
может заведешь пет проект попроще?
I.
ты можешь переписать вк, но эту ссылку найти не можешь?😂😂😂 https://vk.com/about
Андрей
А, понял. Я идиот
Alex fivem
Не нужно выкидывать исключение.
с reject понятно, я думал, что можно при возникновении ошибок, как синхронных так и нет, кидать throw и ловить во внешнем catch. В общем нужно использовать reject или throw, но синхронный.
Олекс
пацыки
Олекс
а мож я блог сделаю
Олекс
и там буду резудьтаты
Олекс
выкладывать
Олекс
кто за?
Андрей
Давай
I.
partners@corp.vk.com Cooperation offers
сomorsiс
может тогда сразу канал в телеге
Олекс
или группу
Олекс
?