
Maksim
30.07.2018
21:39:02
ну раз красиво)

Nyan
30.07.2018
21:39:43

Sergey
30.07.2018
21:40:13
Удобнее коды ответа логически правильные ловить

Maksim
30.07.2018
21:40:36
рест - маркетойдная выдумка) даже хуже, чем микросервисы)
в целом, если апи поддерживает только get и post, и отдаёт при этом чё-нить типа 200\400 - уже ок. Завязываться на коды ответа - рак.
а фронтам стоит открыть для себя события

Google

Furrya
30.07.2018
21:50:04

Maksim
30.07.2018
21:50:29
это уже ближе в сторону cqrs, когда у тебя 2 разных "интерфейса" для чтения и записи.
post запись, get - внезапно, чтение.
а всякие патчи, делиты и т.д. - стильно, модно, молодёжно, но...) я за всю карьеру не видел 2 одинаковые рестовые имплементации. Такой вот рест универсальный, решил все проблемы :)

Roman
30.07.2018
21:53:14

Maksim
30.07.2018
21:54:06
опять-таки, если брать cqrs, команды не возвращают результат. Тема холиварная, но тем не менее. Ты можешь либо его проигнорировать, либо "принять во внимание". Зависит от реализации.

Roman
30.07.2018
21:55:52

Maksim
30.07.2018
21:56:21

Roman
30.07.2018
21:57:38


Roman
30.07.2018
21:57:49
это не решает ровным счётом никакой задачи и не упрощает саппорт, ибо разбиение идёт не в рамках атомарных контекстов, а как бог на душу положит
Микросервисы нужны далеко не каждому проекту. Микросервисы это когда у тебя огромный софт с огромной нагрузкой и огромной командой.
В таком случае легче работать, потому-что каждый сервис...
1. отвечает за свою определённую задачу, и не более.
2. может содержать свои собственные базы данных и хранилища.
3. может быть написан на абсолютно любом языке с любым стэком технологий
4. может самостоятельно расти, независимо от экосистемы в которой он работает
Я считаю, что начинать нужно с монолитной API, а потом делить её на микросервисы по мере роста проекта и команды, если это действительно потребуется, разумеется. В таком случае, изначальный монолит превратится в так называемый Gateway микросервисов.

Maksim
30.07.2018
21:58:31

Google

Roman
30.07.2018
21:59:00
У микросервисов есть и значительные недостатки, такие как больший overhead в коммуникации и повышенный latency, сложный deployment..
поэтому в самом начале проекта - руки проч от микросервисов)


Maksim
30.07.2018
21:59:25
Микросервисы нужны далеко не каждому проекту. Микросервисы это когда у тебя огромный софт с огромной нагрузкой и огромной командой.
В таком случае легче работать, потому-что каждый сервис...
1. отвечает за свою определённую задачу, и не более.
2. может содержать свои собственные базы данных и хранилища.
3. может быть написан на абсолютно любом языке с любым стэком технологий
4. может самостоятельно расти, независимо от экосистемы в которой он работает
Я считаю, что начинать нужно с монолитной API, а потом делить её на микросервисы по мере роста проекта и команды, если это действительно потребуется, разумеется. В таком случае, изначальный монолит превратится в так называемый Gateway микросервисов.
как раз в тот момент изоляции рушится большинство микросервисов :)
начинается всякий мрак, типа микросервис бд, шаринг данных и т.д.
и если верить рекламным брошюркам, то огромная команда - не совсем триггер к действию. Если ты можешь грамотно разделить контексты, то команды останутся в рамках своих зон ответсвенности и про похождения прочих будут узнавать исключительно на курилках. Но это сложно, и в большинстве случаев не нужно. Просто модно)


Roman
30.07.2018
22:02:11

Maksim
30.07.2018
22:03:08

Roman
30.07.2018
22:04:03
Монолиты довольно сложно мейнтейнить в большой команде, когда люди уходят и приходят и сам по себе проект огромный. Я сам знаю, какого это, поскольку работал в одной немецкой конторе где почти 80 человек трудились над 1 монолитным сервером раздачи Ad банеров..
весь этот проект в конце превратился в 5 независимых команд, каждая из которых ответвилась и начала пилить свой микросервис, когда с главного сервера сняли множество ответственностей.. правда на тот момент термин "микросервисы" ещё не был популярен походу

Maksim
30.07.2018
22:04:37

Roman
30.07.2018
22:05:31

Maksim
30.07.2018
22:06:08

Roman
30.07.2018
22:06:48

Maksim
30.07.2018
22:07:41
так а что мешает не нарушать api внутри монолита?

Roman
30.07.2018
22:07:52

Maksim
30.07.2018
22:08:22
я почти месяц гошников собеседовал. То, что мне в двери сразу трое постучатся, хер поверю)

Roman
30.07.2018
22:08:52

Maksim
30.07.2018
22:09:32

Roman
30.07.2018
22:09:45
ещё раз повторюсь: большинству - микросервисы - не нужны.
Они нужны реально большим конторам с реально большими командами

Александр
30.07.2018
22:10:14
ну удобно побить микросервисы и каждому разработчику скормить по проекту ?
шо бы холи срачи не решать

Maksim
30.07.2018
22:10:49

Roman
30.07.2018
22:11:37

Google

Maksim
30.07.2018
22:11:59

Roman
30.07.2018
22:12:13

Maksim
30.07.2018
22:12:33
опять-таки, чем разделённые контексты монолита хуже, чем разделённые контексты микросервиса?)
так а что мешает не нарушать api внутри монолита?

Roman
30.07.2018
22:12:57
и не один

Maksim
30.07.2018
22:13:24
увы, не было) либо ты себе не очень представляешь вопрос

Roman
30.07.2018
22:13:41

Maksim
30.07.2018
22:14:20

Roman
30.07.2018
22:14:44

Maksim
30.07.2018
22:15:42
что такое Bounded context знаешь?
просто не уверен, что мы с тобой говорим на одном языке.

Roman
30.07.2018
22:17:28
я совершенно не понимаю о чём вы... монолит пишется на 1 стэке технологий, микросервисная архитектура - нет, в этом есть преимущества и недостатки перечисленные выше. Вам микросервисы - скорее всего - не нужны.
Я всё сказал

Maksim
30.07.2018
22:17:41
если совсем на пальцах, то все твои модули (как вполне самостоятельные единицы) для взаимодействия с собой предоставляют некий контракт. Возьми какой-нибудь логгер, например. Всего его публичные методы - это апи.\
всё сказал, да смысла мало)

Roman
30.07.2018
22:18:27

Maksim
30.07.2018
22:18:54

Roman
30.07.2018
22:18:56
модуль != микросервис // true

Maksim
30.07.2018
22:19:09
ясна
можешь дальше не утруждаться :)

Roman
30.07.2018
22:21:49

Google

Maksim
30.07.2018
22:22:15

Roman
30.07.2018
22:22:59
троль детектэд))

Maksim
30.07.2018
22:23:49
нет, просто у тебя крайне странное понятие микросервисов) типа если я рядом наговнокожу на скале, у меня внезапно появятся микросервисы, а приложенька перестанет быть монолитом. Пускай так :)

Vladislav
30.07.2018
22:41:45
Мне вообще слово «микросервисы» не нравится. По факту, все что про них пишут в интернете - это обычные сервисы из SOA. С чего они вдруг стали «микро», вообще не ясно. Микросервис - это когда ты уже дошел до запуска отдельных лямбд в выч. сети. А все остальное галимый маркетинг и подмена понятий

Maksim
30.07.2018
22:42:19

Vladislav
30.07.2018
22:42:35
Ну да, я про это же

Maksim
30.07.2018
22:43:03
к сожалению, в нашей профессии слишком много галимого маркетинга :)
и я не про микросервисы) а в целом
всякие ресты, солиды, аджайлы и т.д.)

undiabler
30.07.2018
22:46:34
hr-ы :D

Dmitri
31.07.2018
01:53:52

Olzhas
31.07.2018
02:36:57
@onokonem

Aleksey
31.07.2018
02:44:54


Maksim
31.07.2018
04:41:58

Andrey
31.07.2018
06:11:39
Поставьте @joinhider_bot

Igor
31.07.2018
06:15:30

Phil
31.07.2018
07:00:21
Одмины, баньте этих китайцев. Заходите в Manage Group->Recent Actions и там в десктопе правой кнопой по мессаге джойна, а в мобилке - оттуда просто тыкать в польхователя, он будет опказывать профайл и внизу "ban from group"

Google

Andrey
31.07.2018
07:05:17
А разве админы не могут добавлять бота?

Phil
31.07.2018
07:05:42
Могут. Но не могут ему права дать админские

Andrey
31.07.2018
07:05:55
Точн

Igor
31.07.2018
07:49:09

Vadim
31.07.2018
07:53:09
1. Монолиты пишутся на одном языке, их можно расширять только вертикально.
2. Изначально лучше писать монолит, где каждый блок закрыт от другого и общение между блоками проходит через интерфейсы
3. Когда вертикального расширения не хватает/ хочется что-то написать на другом языке/ хочется использовать один сервис в разных проектах, рефакторим монолит до уровня микросервисов.

Maksim
31.07.2018
07:58:15
фанатики...)

Bohdan
31.07.2018
07:58:24

Maksim
31.07.2018
07:58:40
микросервисы - это не синоним кучи говнокода на разных языках
микросервисы - не синоним заоопарка языков. Монолит не ограничен одним.

Vadim
31.07.2018
08:02:51

Maksim
31.07.2018
08:03:43
и что мне должно в этом помешать?)
вот серьёзно, что должно случиться с кодом, что бы я его не мог горизонтально маштабировать?)