Size: a a a

Software Design/Architecture/Zen

2021 April 27

SZ

Sergey Zolotov in Software Design/Architecture/Zen
так что когда говорят что переписывают пхп монолит на го микросервисы, это больше мемас уже
источник

Б

Богдан in Software Design/Architecture/Zen
Микросервисы это не про транзакции, микросервисы это про разбиение функционала на отдельные сервисы котором НЕ нужно общаться между собой атомарно/консистентно/транзакционно/без race-conditions. Если у вас одному микросервису вдруг нужно прочитать и обновить данные другого микросервиса атомарно то это значит что вы неправильно спроектировали микросервисы.
Вообще микросервисы подходят далеко не под каждый проект. Если у вас функционал очень связанный (фичи требуют чтения и обновления многих связанных данных) то это значит что микросервисный подход вам не подходит. В этом случае либо делайте монолит и пишите логику общаясь с бд через транзакции либо разбивайте на отдельные серверы/сервисы которые будут читать и менять данные в общей базе. При этом всю работу с бд не забудьте заврапить в транзакции с serializable-уровнем изоляции транзакций а то в mysql и postgres транзакции по дефолту допускают race-conditions (причем заврапить в транзакции нужно не считывание отдельных записей а весь код бизнес-логики/запроса который читает, проверяет и обновляет много разных объектов)
Вот могу посоветовать хороший доклад про транзакции - https://www.youtube.com/watch?v=5ZjhNTM8XU8
Ну а если вдруг какой-нибудь postgres не умеет быстро обрабатывать транзакции с serializable-уровнем изоляции то выбросите его на свалку потому что например тарантул умеет обрабатывать больше 100 тысяч serializable-транзакций в секунду и при этом сохранять все данные на диск без риска потерять данные как в редисе (вот есть хороший доклад про его архитектуру - https://www.youtube.com/watch?v=yrTF3qH8ey8)
источник

M

Maxim Kainov in Software Design/Architecture/Zen
Монолит это одно сильно связанное внутри приложение, нет?
источник

N

Nikita in Software Design/Architecture/Zen
а нету разве нормальных монолитов с loose coupling?
источник

M

Maxim Kainov in Software Design/Architecture/Zen
Тогда это модульный монолит )
источник

N

Nikita in Software Design/Architecture/Zen
но и не микросервисы)
источник

A

Adv0cat in Software Design/Architecture/Zen
Ахахахаха, начали так круто, описали все как надо, уже думал годный совет какой!! А нет, в конце реклама Таратула 🤣
источник

N

Nikita in Software Design/Architecture/Zen
👋 :D
источник

A

Adv0cat in Software Design/Architecture/Zen
источник

M

Maxim Kainov in Software Design/Architecture/Zen
Бывают еще монолитные микросервисы )
источник

РН

Роман Нагаев... in Software Design/Architecture/Zen
спасибо большое, плосмтрю)
микросервисы и распределённость протекают ко мне из инфратсруктуры и условий заказчика я пытаюсь изолироваться, как то снизить количество таких распределённых взаимодействий но полностью их устранить не могу поэтому собираю информацию о разных вариантах организации работы
источник

AN

Alexander Nazarov in Software Design/Architecture/Zen
я где то читал, про "Микро". Типа микро это то что вы сможете переписать за неделю на другой язык.
источник

IS

I Scarab in Software Design/Architecture/Zen
Офигенный критерий )
источник

AN

Alexander Nazarov in Software Design/Architecture/Zen
Ну а если нет, то это уже нифига не микро)) не надо себя в этом убеждать)
источник

AS

Alexandr Sakharoff in Software Design/Architecture/Zen
Ты смешной
источник

SZ

Sergey Zolotov in Software Design/Architecture/Zen
читай выше https://t.me/oop_ru/167142
источник

AN

Alexander Nazarov in Software Design/Architecture/Zen
как пример могу вспомнить Badoo. Они всегда и везде говорят про то что у них монолит.
источник

N

Nikita in Software Design/Architecture/Zen
да ну, вроде недавно видел презентацию где они на го микросервисы писали

или это были не они..
источник

AN

Alexander Nazarov in Software Design/Architecture/Zen
хмм.. Может они уже сдались( Но они на всяких highload или phprussia постоянно рассказывали про то что у них монолит и они типа с этим нормально живут. Может переобулись?))) Киньте плизз ссылку если вспомните
источник

AS

Alexandr Sakharoff in Software Design/Architecture/Zen
они пилят давно микросервисы на го, как и мы в авито.
источник