
Yegor
07.09.2018
09:37:40
логика та же?

F01134H
07.09.2018
09:37:49

Sergey
07.09.2018
09:37:58

Yegor
07.09.2018
09:38:23

Google

Yegor
07.09.2018
09:38:32
я считаю что большие классы проблема сама по себе

Aleh
07.09.2018
09:38:49
И большие проекты

Sergey
07.09.2018
09:38:50

Yegor
07.09.2018
09:39:06
ну в общем аргумент о том, что статья написана плохо -- разбит
ты просто не согласен с ее главным посылом
но это не значит, что он плохо изложен

Adel
07.09.2018
09:39:26
помоему вы зря тратите времяна абсолютно неправильную аналогию: монореп = класс 5000 строк

Sergey
07.09.2018
09:39:37

F01134H
07.09.2018
09:39:41

Sergey
07.09.2018
09:39:49
вот я тоже не понимаю

F01134H
07.09.2018
09:39:51

Yegor
07.09.2018
09:39:53

F01134H
07.09.2018
09:40:04
лол

Google

F01134H
07.09.2018
09:40:12

Артур Евгеньевич
07.09.2018
09:40:17
у нас проект с 2002 года и у нас монореп
это пиздец

Sergey
07.09.2018
09:40:49
ты просто не согласен с ее главным посылом
да, я не согласен. Потому что в статье вообще не прослеживается мысль про границы. Ты как границу модуля преподносишь репозиторий. Хотя можно просто "сделать папочку" и сложить туда код относящийся к модулю. Как если бы у тебя было 100 репозиториев для проекта и ты просто сделал бы 100 директорий в одном репозитории.

Артур Евгеньевич
07.09.2018
09:41:05
хотя я не уверен что с микросервисами хуже бы не стало, учитывая как у нас взаимодейстие между отделами строится)
думаю некотоыре просто стали бы копироать нужные куски кода себе?
из сервиса в сервис

Sergey
07.09.2018
09:41:38

F01134H
07.09.2018
09:41:49

Артур Евгеньевич
07.09.2018
09:42:57

Yegor
07.09.2018
09:43:06

Артур Евгеньевич
07.09.2018
09:43:09
или можно из одной репы раскладываться на разные сервисы разные участки кода?

Sergey
07.09.2018
09:43:10
не я понимаю что переубедить Егора у меня не выйдет. Просто высказываю недовольства чтот Егор уже не торт. Раньше его набросы и аргументы заставляли задуматься. А сейчас чет как-то нет

Артур Евгеньевич
07.09.2018
09:44:03
звучит дико для меня

Sergey
07.09.2018
09:44:08
микросервисы это больше про шаринг знаний и управление инфраструктурой
ой
монорепозитории*

Артур Евгеньевич
07.09.2018
09:44:28
я как один из основный плюсов микросервиса выделял, административнео и техническое разделение работы

Sergey
07.09.2018
09:44:42
а микросервисы это просто про независимый деплой и декомпозицию системы на "большие объекты" (прям как алан кей хотел) которые владеют данными и обмениваюются сообщениями

Google

F01134H
07.09.2018
09:44:42
звучит дико для меня
а че такого, считай у тебя экосистема в одной репе и разбита на части - микросервисы

Артур Евгеньевич
07.09.2018
09:44:50
т.е мы сидим в совей репе, предоставляем апи сервиса и никто к нам не залезет в наш уютный миро

Adel
07.09.2018
09:44:57
монорепозиторий не означаетчто весь код там связан друг с другом

Konstantin
07.09.2018
09:45:12

Sergey
07.09.2018
09:45:40

Артур Евгеньевич
07.09.2018
09:45:57

Sergey
07.09.2018
09:45:59
все эти штуки живут в своих репозиториях, деплоятся независимо - но это же НЕ микросервисы
просто лежат они рядом.
scheduling
payments
chats
calls
auth
типа так
каждый "модуль" можно независимо собрать, независимо задеплоить

Артур Евгеньевич
07.09.2018
09:47:33

Sergey
07.09.2018
09:47:42
можно вместе, можно независимо, можно общие модули как-то по хитрому реюзать, можно внедрять штуки которые по измеенниям проверяюют контракты между сервисами, можно много чего
микросервисы это про децентрализацию и низкую связанность
Уди Дахан часто говорит фразу "микросервис != deployment target".
при этом это не конфликтует с утверждением что каждый микросервис можно независимо деплоить

Konstantin
07.09.2018
09:49:49

Артур Евгеньевич
07.09.2018
09:50:08
просто ятак поинмаю микросервис -
сервис с четко определеннйо ответственностью, разрабатываемый и депломый отдельно от основного продукта. Ну и ключ в тмо что нельзя обратиться к его объектам напрямую в коде программмы, а только через внешнее апи

Google

Sergey
07.09.2018
09:50:10

Артур Евгеньевич
07.09.2018
09:50:59
т.е если у меня супер салбосвязанные модули, которые общаются только черзе определенные для этого методы(порты) но в рамках одного репозитория и написанные как части одного проекта я это микросервисом не назову

F01134H
07.09.2018
09:51:10

Sergey
07.09.2018
09:51:44

Konstantin
07.09.2018
09:51:52

Артур Евгеньевич
07.09.2018
09:52:42

F01134H
07.09.2018
09:52:45

Konstantin
07.09.2018
09:53:38

Sergey
07.09.2018
09:53:54


Артур Евгеньевич
07.09.2018
09:54:21
ты не можешь их независимо разрабатывать и независимо деплоить? почему?
потому что нет технического ограничения, кто то может зайти из команды, и написать своей хуйни в мой сервис + если спуститься до конкретных реализаций, то в пыхе пока не подвезли возможность приватных классов и у меня нет гарантии, что никто не нарушит инкапсуляцию и не будет юзать мой сервис дергая методы, которые я делал для себя

Sergey
07.09.2018
09:54:55

Артур Евгеньевич
07.09.2018
09:54:59

Sergey
07.09.2018
09:55:19
я так Сэма Ньюмана хочу почитатть
уже год хочу но лень

F01134H
07.09.2018
09:55:33

Артур Евгеньевич
07.09.2018
09:55:36
есил связь через RPC то у меня есть четкий интерфейс, и я буду уверен что иначе инкто не сможет обратиться ко мне

Sergey
07.09.2018
09:55:41

Konstantin
07.09.2018
09:55:41

Google

F01134H
07.09.2018
09:55:43
и все могут твою репу отредактировать все равно

Артур Евгеньевич
07.09.2018
09:56:04
ссылку моэно
можешь вечером мне написать, у меня дома есть эта книжка

Sergey
07.09.2018
09:56:12

Konstantin
07.09.2018
09:56:14

Sergey
07.09.2018
09:56:34
ну и опять же - в чем проблема? это ж GIT - главное что бы форс пуш в мастер был отключен
а может быть даже не гит а меркуриал - тогда еще проще

Артур Евгеньевич
07.09.2018
09:57:10
вы сейчас решаете проблему, которой не существует в случае, если разработка ведется как два разных проекта) и согласовывается лишь API
+ не забывайте про административную часть
если у вас в команде меньше 100 человек, проект не 20 летний, и нет менеджеров которым надо еще вчреа, то тогда да конечно, можно много как извращаться по поводу ограничений прав, ревью и т.д
а в реальном мире разграничение сервисов по командам и репозиториям, со стандартизацией протокола общения между ними - БЕЗ возможности "о бля что то этот метод не принимает числа тока строки, расширю как я тип параметра" - это самый надежный вариант

Sergey
07.09.2018
10:01:18
короч громкие заявления

Артур Евгеньевич
07.09.2018
10:02:41
хочу заметить, что я не говорю что не возможно на монолите с монорепой все по красоте сделать. Просто вопрос в том, как сложно будет поддерживать ограничения и как долго они продержутся

Sergey
07.09.2018
10:03:31
это... настораживает

Aleh
07.09.2018
10:41:43
Согласен)

Sergey
07.09.2018
10:41:55
ждем белпошту