Re[4]: Микросервисы - в чем дебилизм
От: mrTwister Россия  
Дата: 13.11.18 12:24
Оценка: 2 (1) +2
Здравствуйте, Sharov, Вы писали:

T>>а микросервисы делают рефакторинг оооочень дорогим.


S>Можно ентот тезис подробнее раскрыть?


Тут хорошо объяснено:
https://martinfowler.com/bliki/MonolithFirst.html

В монолите ты можешь, например, переименовать метод и тебе для этого понадобится секунда или две. Для того, чтобы переименовать метод микросервиса тебе придется пройти через такой геморрой, что проще воообще не рефакторить. А если тебе надо перераспределить ответственности между микросервисами? Что проще, выделить новую ответственность в монолите (новый класс в коде), или выделить новый микросервис?
лэт ми спик фром май харт
Re[9]: Микросервисы - в чем дебилизм
От: neFormal Россия  
Дата: 13.11.18 14:08
Оценка:
Здравствуйте, Privalov, Вы писали:

F>>короче, вы развлекались за чужой счёт, а молодёжь пытается добиться результата.

P>А библиотеки, которыми молодежь пользуется, появились сами, я верно понял?

а их по делу делали, а не из желания понаписать код.
...coding for chaos...
Re: Микросервисы - в чем дебилизм
От: zverjuga Беларусь  
Дата: 13.11.18 14:15
Оценка:
сориентируйте по терминологии. обычное MVC приложение с конечным набором веб-методов + база данных — это микросервис или монолит?
проклятый антисутенерский закон
Re[4]: Микросервисы - в чем дебилизм
От: Философ Ад http://vk.com/id10256428
Дата: 13.11.18 14:47
Оценка:
Здравствуйте, TG, Вы писали:

TG>Здравствуйте, Философ, Вы писали:


MH>>>- когда хочется попробывать новый язык/фрэймворк и тп и есть подходящая задача.

Ф>>У меня в руках новый микроскоп, хотелось бы его опробовать в действии, а в от эта задача вроде-бы подходит под возможности инструмента. Не важно, что его возможности ты знаешь плохо, и тут лучше бы молоток подошёл...
Ф>>Поубивал бы!!!

TG>А есть реальные примеры таких проектов?


Прямо сейчас у меня нет, но в своей практике я с таким сталкивался с последствиями. Были одновременно Firebird, MS SQL, My SQL в купе с Delphi, .net, PHP. Это давно было.
Про такой подход неоднократно слышал: люди рвуться попробовать что-то прямо в продакшене, впендюрить туда что-то, о чём они недавно прочитали.
Всё сказанное выше — личное мнение, если не указано обратное.
Re: Микросервисы - в чем дебилизм
От: vsb Казахстан  
Дата: 13.11.18 14:59
Оценка:
Здравствуйте, Shmj, Вы писали:

S>В чем смысл микросервисов?


S>Ты для каждого компонента ваяешь HTTP-API (как правило), для каждого компонента делаешь свою DB (часто). Зачем?


S>Что мешает тебе просто создать класс AccountService и определить для него интерфейс IAccountService стандартными средствами? Ведь в таком случае тебе не нужно будет трафик гнать для внутреннего взаимодействия.


S>Далее. Как ты решаешь вопрос с транзакциями? Это ж тебе жуткие костыли придется ваять.


S>Зачем все это? Ради чего?


1. У микросервисов есть чётко очерченные интерфейсы. Твой IAccountService можно прикастовать к AccountService и через reflection поменять ему какие-нибудь приватные переменные, хе-хе. Да, это плохо, но если есть возможность, такое будет. Причём снаружи этого видно вообще не будет, это можно увидеть только читая код пользователей класса. Микросервис это, скажем, HTTP-интерфейс и все входы-выходы обычно документированы так или иначе.

2. Микросервисы можно писать на разных языках. В том числе плавно переписывая систему, если захочется. В случае монолита это делать гораздо сложней.

3. У микросервисов чуть получше теоретическое масштабирование, просто запускаешь разные сервисы на разных компьютерах. С нулевыми усилиями.
Re[2]: Микросервисы - в чем дебилизм
От: neFormal Россия  
Дата: 13.11.18 15:09
Оценка:
Здравствуйте, zverjuga, Вы писали:

Z>сориентируйте по терминологии. обычное MVC приложение с конечным набором веб-методов + база данных — это микросервис или монолит?


и то, и то в зависимости от контекста применения.
...coding for chaos...
Re[2]: Микросервисы - в чем дебилизм
От: Shmj Ниоткуда  
Дата: 13.11.18 15:58
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>3. У микросервисов чуть получше теоретическое масштабирование, просто запускаешь разные сервисы на разных компьютерах. С нулевыми усилиями.


Как же просто на разных компах? Допустим, та же регистрация пользователя. Был у тебя сервис https://assount-api.mysite.com/ Ты поднимаешь второй https://assount-api2.mysite.com/ Так просто его заюзать не получится — вам придется изменять все в коде, чтобы для одних пользователей обращаться к первому сервису а для других ко второму. Как вы это будете делать?
Re[3]: Микросервисы - в чем дебилизм
От: a_g_99 США http://www.hooli.xyz/
Дата: 13.11.18 16:21
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Транзакции в распределённых системах — это сам по себе гигантский антипаттерн.

C>Далее, сервисы нужны, если функциональность для них достаточно обширная. При этом снаружи они, действительно, могут выглядеть как get/set методы.

пиши еще принципал инженер Cyberax! а потом Панкай или Раджеш с компании Х приходит и ты думаешь — ну е мае люди так нужны, что бы полегче спросить?? а вот транзакция — проще простого?
что такое транзакция Панкай? И он гордо в ответ — вестимо антипаттерн — это мне мой принципал инженер обьяснил!
Re[3]: Микросервисы - в чем дебилизм
От: a_g_99 США http://www.hooli.xyz/
Дата: 13.11.18 16:37
Оценка: -1
Здравствуйте, Shmj, Вы писали:

S>Как же просто на разных компах? Допустим, та же регистрация пользователя. Был у тебя сервис https://assount-api.mysite.com/ Ты поднимаешь второй https://assount-api2.mysite.com/ Так просто его заюзать не получится — вам придется изменять все в коде, чтобы для одних пользователей обращаться к первому сервису а для других ко второму. Как вы это будете делать?


вы вообще слышали про envoy? господи как страшно жить когда такие имитации называют себя "программист", "инженер" и пр. У вас вообще есть самосознание? Вы понимаете что вы Хомо Эректус?
Re[3]: Микросервисы - в чем дебилизм
От: vsb Казахстан  
Дата: 13.11.18 16:55
Оценка: 1 (1)
Здравствуйте, Shmj, Вы писали:

vsb>>3. У микросервисов чуть получше теоретическое масштабирование, просто запускаешь разные сервисы на разных компьютерах. С нулевыми усилиями.


S>Как же просто на разных компах? Допустим, та же регистрация пользователя. Был у тебя сервис https://assount-api.mysite.com/ Ты поднимаешь второй https://assount-api2.mysite.com/ Так просто его заюзать не получится — вам придется изменять все в коде, чтобы для одних пользователей обращаться к первому сервису а для других ко второму. Как вы это будете делать?


account-api.mysite.com на одном компьютере, mysite.com на другом, reports.mysite.com на третьем. aссount-api2.mysite.com это уже другой уровень масштабирования, для такого действительно нужно писать специальный код и никакого преимуществе перед монолитом тут нет, т.к. монолит со специальным кодом тоже можно запускать на нескольких серверах.
Отредактировано 13.11.2018 16:57 vsb . Предыдущая версия .
Re[4]: Микросервисы - в чем дебилизм
От: · Великобритания  
Дата: 13.11.18 17:22
Оценка:
Здравствуйте, a_g_99, Вы писали:

C>>Транзакции в распределённых системах — это сам по себе гигантский антипаттерн.

C>>Далее, сервисы нужны, если функциональность для них достаточно обширная. При этом снаружи они, действительно, могут выглядеть как get/set методы.
__>пиши еще принципал инженер Cyberax! а потом Панкай или Раджеш с компании Х приходит и ты думаешь — ну е мае люди так нужны, что бы полегче спросить?? а вот транзакция — проще простого?
__>что такое транзакция Панкай? И он гордо в ответ — вестимо антипаттерн — это мне мой принципал инженер обьяснил!
А об чём ржач-то? Как ты предлагаешь транзакции обеспечивать в распределённой системе? Microsoft Transaction Server?
Или ты не так понял? Транзакции в пределах одного сервиса — да, можно и даже надо, а Cyberax говорит о другом.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: Микросервисы - в чем дебилизм
От: a_g_99 США http://www.hooli.xyz/
Дата: 13.11.18 17:49
Оценка:
Здравствуйте, ·, Вы писали:



·>А об чём ржач-то? Как ты предлагаешь транзакции обеспечивать в распределённой системе? Microsoft Transaction Server?

Да какой микрофософт ? При чем тут микрософт какой-то ? Вы еще сюда виндоуз добавьте и щарепоинт и получится ваше резюме!

·>Или ты не так понял? Транзакции в пределах одного сервиса — да, можно и даже надо, а Cyberax говорит о другом.

Cyberax говорит то что написано в методичках которые ему спустили сверху ленивые люди. Сейчас он тут начнется в следующих постах соловьем песни петь про CAP теорему и прочее что ухватил с курсов "транзакции за 21 день"
Re[4]: Микросервисы - в чем дебилизм
От: · Великобритания  
Дата: 13.11.18 17:50
Оценка:
Здравствуйте, TG, Вы писали:

NL>>>Если вы делаете компонент как микросервис (order service, account service и т.п.) у вас возникают проблемы с транзакционностью, у вас возникают проблемы с отказоустойчивостью. По факту система по прежнему монолит, только добавились дополнительные издержки.

C>>Транзакции в распределённых системах — это сам по себе гигантский антипаттерн.
TG>Почему?
TG>И как делать без транзакций?
https://martinfowler.com/articles/microservice-trade-offs.html#consistency
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: Микросервисы - в чем дебилизм
От: · Великобритания  
Дата: 13.11.18 17:54
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>·>А об чём ржач-то? Как ты предлагаешь транзакции обеспечивать в распределённой системе? Microsoft Transaction Server?

__>Да какой микрофософт ? При чем тут микрософт какой-то ? Вы еще сюда виндоуз добавьте и щарепоинт и получится ваше резюме!
А что же тогда? EJB/XA? Открой тайну-то!

__>·>Или ты не так понял? Транзакции в пределах одного сервиса — да, можно и даже надо, а Cyberax говорит о другом.

__>Cyberax говорит то что написано в методичках которые ему спустили сверху ленивые люди. Сейчас он тут начнется в следующих постах соловьем песни петь про CAP теорему и прочее что ухватил с курсов "транзакции за 21 день"
Понятно. По сути сказать ничего не можешь.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[7]: Микросервисы - в чем дебилизм
От: a_g_99 США http://www.hooli.xyz/
Дата: 13.11.18 18:00
Оценка:
Здравствуйте, ·, Вы писали:

·>А что же тогда? EJB/XA? Открой тайну-то!

Вы друг мой смотрите на 25 лет назад, а вам надо взглянуть на 10 лет назад хотя бы. Ну про современные подходы я не буду говорить, ни к чему вам этим голову забивать раз у вас какой микрософт и EJB в голове

·>Понятно. По сути сказать ничего не можешь.

так было бы с кем поговорить я бы поговорил . а так времени жалко тратить на ликбезы
Re[8]: Микросервисы - в чем дебилизм
От: · Великобритания  
Дата: 13.11.18 18:17
Оценка: +1
Здравствуйте, a_g_99, Вы писали:

__>·>А что же тогда? EJB/XA? Открой тайну-то!

__>Вы друг мой смотрите на 25 лет назад, а вам надо взглянуть на 10 лет назад хотя бы. Ну про современные подходы я не буду говорить, ни к чему вам этим голову забивать раз у вас какой микрософт и EJB в голове
Так что же тогда? Рафты и прочие консенсусы? Просвети уж убогих.

__>·>Понятно. По сути сказать ничего не можешь.

__>так было бы с кем поговорить я бы поговорил . а так времени жалко тратить на ликбезы
А тебя сюда никто не приглашал, ты сам припёрся и всё слюной забрызгал.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: Микросервисы - в чем дебилизм
От: Shmj Ниоткуда  
Дата: 13.11.18 18:45
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>вы вообще слышали про envoy? господи как страшно жить когда такие имитации называют себя "программист", "инженер" и пр.


Переход на личности — не от большого ума. Я себя не называл ни программист ни тем более инженер.

По теме есть что сказать?

__>У вас вообще есть самосознание?


Определи что такое самосознание. Дай научное определение.
Re[4]: Микросервисы - в чем дебилизм
От: Cyberax Марс  
Дата: 13.11.18 19:09
Оценка:
Здравствуйте, TG, Вы писали:

C>>Транзакции в распределённых системах — это сам по себе гигантский антипаттерн.

TG>Почему?
Потому, что они не работают так, как этого хотелось бы.

TG>И как делать без транзакций?

Делать без транзакций. На eventual consistency.
Sapienti sat!
Re[6]: Микросервисы - в чем дебилизм
От: Cyberax Марс  
Дата: 13.11.18 19:16
Оценка:
Здравствуйте, a_g_99, Вы писали:

__>·>Или ты не так понял? Транзакции в пределах одного сервиса — да, можно и даже надо, а Cyberax говорит о другом.

__>Cyberax говорит то что написано в методичках которые ему спустили сверху ленивые люди. Сейчас он тут начнется в следующих постах соловьем песни петь про CAP теорему и прочее что ухватил с курсов "транзакции за 21 день"
Ну а так какие альтернативы? Дай угадаю! Запихать всё в БД в виде хранимых процедур.
Sapienti sat!
Re[4]: Микросервисы - в чем дебилизм
От: Cyberax Марс  
Дата: 13.11.18 19:17
Оценка: +1
Здравствуйте, a_g_99, Вы писали:

__>пиши еще принципал инженер Cyberax! а потом Панкай или Раджеш с компании Х приходит и ты думаешь — ну е мае люди так нужны, что бы полегче спросить?? а вот транзакция — проще простого?

__>что такое транзакция Панкай? И он гордо в ответ — вестимо антипаттерн — это мне мой принципал инженер обьяснил!
И что дальше-то? Как это опровергает то, что транзакции в распределённых системах не работают?
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.