Size: a a a

Node.js — русскоговорящее сообщество

2020 September 18

T

Taras in Node.js — русскоговорящее сообщество
Я работал и с монорепо, и с монолитом, и с одним пакеджом на все, и микросервисами. И я могу сравнить плюсы плюсы и минусы того или инного решение. И я полностью поддерживаю @devsinglesly
источник

A

Artem in Node.js — русскоговорящее сообщество
+
источник

T

Taras in Node.js — русскоговорящее сообщество
Artem
кайф микросервисов еще в том, что можно оставлять хоть версии 10 летней давности на микросервисах которые пишутся 1 раз на 100 лет. И ничего с ними не произойдет.
Имхо омновное преимущество микросервисов проявляется при 50+ человек. Тогда можно легко разбить на ращные зоны ответсвенности так, чтобы одни другим не мешали добавлять новые фичи в приложение. Именно с точки зрение менеджмента и деливери тут основной бенефит
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
Artem
ты не понял. Это был моно репозиторий с одним package.json, за который ты топишь. Мы выкатили обновление для сервиса который там откровенно говоря занимался какой то ерундой. А по итогу обновились зависимости во всех 3. А железки не могли работать с новым форматом и мы упали.
погоди
у тебя есть три микросервиса в одной репе
они общаются через одного брокера? ты накатывал обновление, и система полетела потому что с другой стороны есть железки, которые используют этот же брокер, но на них обновление не накатили?
всё верно описал?
просто при такой ситуации проблема вовсе не в монорепе
источник

D

Dmitry in Node.js — русскоговорящее сообщество
Алексей Попов
погоди
у тебя есть три микросервиса в одной репе
они общаются через одного брокера? ты накатывал обновление, и система полетела потому что с другой стороны есть железки, которые используют этот же брокер, но на них обновление не накатили?
всё верно описал?
просто при такой ситуации проблема вовсе не в монорепе
это не микросервисы. вы путаете
источник

D

Dmitry in Node.js — русскоговорящее сообщество
микросервисы не могут общаться между собой кроме как по открытому АПИ интерфейсу
источник

A

Artem in Node.js — русскоговорящее сообщество
Алексей Попов
погоди
у тебя есть три микросервиса в одной репе
они общаются через одного брокера? ты накатывал обновление, и система полетела потому что с другой стороны есть железки, которые используют этот же брокер, но на них обновление не накатили?
всё верно описал?
просто при такой ситуации проблема вовсе не в монорепе
я похоже понимаю к чему ты пытаешься клонить) На железе ты не можешь обновить софт просто. Потому что он пишется один раз на 100 лет.
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Dmitry
это не микросервисы. вы путаете
А что это?
источник

A

Artem in Node.js — русскоговорящее сообщество
Dmitry
микросервисы не могут общаться между собой кроме как по открытому АПИ интерфейсу
да, там есть некоторый флоу. Который реализует rpc в брокерах. И в либе в одной из версий поменялся формат
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
Artem
я похоже понимаю к чему ты пытаешься клонить) На железе ты не можешь обновить софт просто. Потому что он пишется один раз на 100 лет.
ну отлично, значит пакет, который обновляет формат общения, менять нельзя
опять-таки, менять его нельзя для всех микросервисов
разве не проще следить за этим, если есть одно место, через которое можно этот пакет обновить?
источник

D

Dmitry in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
А что это?
это монолит, микросервис не должен знать о том как устроен другой микросервис. как я понял у господина они знают друг о друга черзе брокер и лезут в данные друг друга
источник

A

Artem in Node.js — русскоговорящее сообщество
Алексей Попов
ну отлично, значит пакет, который обновляет формат общения, менять нельзя
опять-таки, менять его нельзя для всех микросервисов
разве не проще следить за этим, если есть одно место, через которое можно этот пакет обновить?
вот, и потом такой пакет появляется не один, который ты не можешь просто так поменять, и все это превращается в сущий ад.
источник

ки

кккк ииии in Node.js — русскоговорящее сообщество
здраствуйте. советуйте  метод для  обновление данных в  mongodb
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Dmitry
это монолит, микросервис не должен знать о том как устроен другой микросервис. как я понял у господина они знают друг о друга черзе брокер и лезут в данные друг друга
Т.е. если в приложении есть множество сервисов, которые общаются через промежуточную среду (брокер, очередь), и для внешнего пользователя также считаются отдельными сервисами, то это монолит?
Wat?
источник

CM

Chingiz Mamiyev in Node.js — русскоговорящее сообщество
кккк ииии
здраствуйте. советуйте  метод для  обновление данных в  mongodb
Не совсем понял про что это
источник

A

Artem in Node.js — русскоговорящее сообщество
Dmitry
это монолит, микросервис не должен знать о том как устроен другой микросервис. как я понял у господина они знают друг о друга черзе брокер и лезут в данные друг друга
не, там в другом проблема была. У тебя rpc в одной версии работает в формате
req - topic/id/req
res - topic/id/res
а в другой версии
req - topic/id
res - topic/id/res.
И всё.
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
Artem
вот, и потом такой пакет появляется не один, который ты не можешь просто так поменять, и все это превращается в сущий ад.
так погоди
у тебя тут явная ситуация, что ВСЕ микросервисы должны быть завязаны на ГАРАНТИРОВАННО ОДНУ версию пакета
как раз таки монорепозиторий решает эту проблему, а кучка отдельных репозиториев создаёт тот самый адок
источник

A

Artem in Node.js — русскоговорящее сообщество
Алексей Попов
так погоди
у тебя тут явная ситуация, что ВСЕ микросервисы должны быть завязаны на ГАРАНТИРОВАННО ОДНУ версию пакета
как раз таки монорепозиторий решает эту проблему, а кучка отдельных репозиториев создаёт тот самый адок
нет. У тебя не должны все микросервисы быть подвязанный на одну версию пакета
источник

D

Dmitry in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Т.е. если в приложении есть множество сервисов, которые общаются через промежуточную среду (брокер, очередь), и для внешнего пользователя также считаются отдельными сервисами, то это монолит?
Wat?
нет, почему. тут вопрос в данных. если один сервис знает как устроены данные другого, это уже монолит и вообще нарушение границ
я так понял у товарища именно так
источник

АП

Алексей Попов... in Node.js — русскоговорящее сообщество
Artem
нет. У тебя не должны все микросервисы быть подвязанный на одну версию пакета
как это
ты сам описал проблему, которая возникла при частичном обновлении
источник