
Владимир
12.12.2018
13:40:24

LighteR
12.12.2018
13:40:46
Тонкая грань)
Да не, ее вполне легко провести же. Если тест не работает без окружения (база, другие сервисы и т.д.), то это интеграционный

Tishka17
12.12.2018
13:40:58

gigimon
12.12.2018
13:41:24

Google

Владимир
12.12.2018
13:41:53

LighteR
12.12.2018
13:41:54

gigimon
12.12.2018
13:42:02

Tishka17
12.12.2018
13:42:03

Владимир
12.12.2018
13:42:07
Ага

gigimon
12.12.2018
13:42:16

Tishka17
12.12.2018
13:42:21

Владимир
12.12.2018
13:42:41

Tishka17
12.12.2018
13:42:52
у нас щас elastic + postgrs+redis + два аппа + тесты через compose стартуют

gigimon
12.12.2018
13:42:54
для influx мы делали просто, если фикстура видит ENV=devel, то не запускает контейнер а коннектится к удаленному серверу

Tishka17
12.12.2018
13:42:57
норм на тачке влезает

LighteR
12.12.2018
13:43:05
Ну и вообще развертывание с нуля инфраструктуры может быть нетривиальной задачей

Tishka17
12.12.2018
13:43:27

Google

Владимир
12.12.2018
13:43:33

LighteR
12.12.2018
13:43:39

Tishka17
12.12.2018
13:43:52
у нас на прошлой работе разворачивание инфраструктуры с нуля было каждые пару недель
так что в тестах оно делалось постоянно

LighteR
12.12.2018
13:44:09
ну это разные области, да

Tishka17
12.12.2018
13:44:36
не вижу причин не делать так же везде
разве что вопрос в данных

LighteR
12.12.2018
13:44:45
в коробочных продуктах вряд ли есть десятки/сотни микросервисов

Nikolay
12.12.2018
13:44:54
Приветы. Питон выходит, что strong typed?

LighteR
12.12.2018
13:45:03
и куча всяких баз/очередей и т.п.

Владимир
12.12.2018
13:45:06
С другой стороны можно хорошо автоматизировать. Тот же ансибл поможет

Tishka17
12.12.2018
13:45:08

Владимир
12.12.2018
13:45:15

Aragaer
12.12.2018
13:45:16
ну каждая переменная в каждый момент имеет строго определенный тип, да

Nikolay
12.12.2018
13:45:20
Типа типизация динамическая, но при этом strong

Tishka17
12.12.2018
13:45:23

Aragaer
12.12.2018
13:45:32
и перевод из одного типа в другой делается вполне себе явно и по правилам

Nikolay
12.12.2018
13:45:58

Google

Владимир
12.12.2018
13:46:07

Nikolay
12.12.2018
13:46:17

gigimon
12.12.2018
13:47:02

Tishka17
12.12.2018
13:47:03
ну с микросеврисами я щас только учусь нормально жить
пока не нравится процесс

gigimon
12.12.2018
13:47:21
хотя до сотен тоже не дотягивает

LighteR
12.12.2018
13:47:47

Aragaer
12.12.2018
13:47:52
/me сваял свое поделие для запуска отдельных скриптов

Nikolay
12.12.2018
13:47:54
нынешнее поколение школоты

Aragaer
12.12.2018
13:48:11
а теперь вот думаю, что надо их в контейнеры запихать, а вместо моего поделия какие-то волшебные слова типа docker compose
или я там не знаю

Nikolay
12.12.2018
13:48:28
захар здесь?

Aragaer
12.12.2018
13:48:30
dockerus composicium

Владимир
12.12.2018
13:48:38

Nikolay
12.12.2018
13:48:44

LighteR
12.12.2018
13:48:58
не скажи, у нас коробочный и у нас на вооружении mysql, memcached, influx, rabbitmq + наш продукт разбит на сервисы, которые надо параллелить и разбивать на разные инстансы
mysql, memcached, influx, rabbitmq, ну это в общем довольно маленький стэк. В больших проектах, особенно где много легаси этот стек может быть во много раз больше

Владимир
12.12.2018
13:51:18

LighteR
12.12.2018
13:52:02
дерево зависимостей сервисов может быть довольно большим и запутанным. И все это развернуть с нуля для прогона тестов только одного микросервиса может оказаться непосильной задачей

Владимир
12.12.2018
13:52:04
А выбор архитектуры все таки от задачи следует делать, а не моды

Google

LighteR
12.12.2018
13:54:25

Владимир
12.12.2018
13:56:29

LighteR
12.12.2018
13:57:40

Владимир
12.12.2018
13:57:48
Ядро линукса по факту монолит. Крупный и сложный проект. При хорошей организации живет и развивается. Поэтому процессы важны не меньше.

Denis
12.12.2018
13:58:05

Nikolay
12.12.2018
13:58:37
у вас что работы нет
целый день треп
переходите на Go, тут есть работка

Admin
ERROR: S client not available

Denis
12.12.2018
13:59:35
“Инкапсуляция по сети” можно сказать. Ну захватывающая концепция конечно, но ведь не все в них уперлось. Это оркестрация, сервис меш, логгирование, трейсинг, мониторинг, дашборды для логов, всякие амбассадоры для апи гейтвеев

LighteR
12.12.2018
13:59:41

Denis
12.12.2018
13:59:56
Это боль в смысле что я видел когда и тысячи строк кода (ну там 10к - 20к кодовая база) начинают раздирать на десятки микросервисов
Поддержка становится такой болью

Aragaer
12.12.2018
14:00:39
почему?
ведь каждый сервис независим от остального, имеет фиксированную версию и апи
и правки в одном сервисе не должны ломать работу остальных при сохранении апи

Denis
12.12.2018
14:01:10
Вот Фаулер дает пояснение https://martinfowler.com/bliki/MonolithFirst.html

Google

Aragaer
12.12.2018
14:01:36
вон я своего чатбота делаю в виде таких мелких независимых хреновин

Denis
12.12.2018
14:01:42
Без трейсинга ты не знаешь где упало. Без оркестрации ты не можешь управлять этим

Сергей
12.12.2018
14:01:45
самое хреновое, когда эти микросервисы начинают писать на джанге с drf
и потом офигенные профессионалы в этих технологиях им нужны в команду
чтобы банальный круд на 4 таблицы писать

Aragaer
12.12.2018
14:01:48
каждую из которых я могу писать на любом языке

LighteR
12.12.2018
14:01:52
Проблема большого монолита в том, что его становится сложно релизить и больше вероятность регресса

Denis
12.12.2018
14:01:56
Сетевые задержки жрут производительность

Aragaer
12.12.2018
14:01:58
оркестрацию сделал
сетевые?
зачем там сетевые?
у меня все локальненько на юникс сокетах и пайпах

Denis
12.12.2018
14:02:24
А как твои микросервисы будут общаться? Через юникс сокеты? ?

Aragaer
12.12.2018
14:02:41
ну они пока не микросервисы, а отдельные приложения. Да, сокеты и пайпы

Denis
12.12.2018
14:02:47
А ну понятно. Только когда в кластер собираешь большой там же юникс сокеты обычноне вариант

Aragaer
12.12.2018
14:02:49
кидают себе жсончиками друг в другна

Denis
12.12.2018
14:03:03
Когда это реально физически в разных узлах

Aragaer
12.12.2018
14:03:32
ну если нужно разносить физически, то наверно просто потому что на одном они уже не помещаются

LighteR
12.12.2018
14:03:48

Denis
12.12.2018
14:03:49
Так именно. Чаще всего этот вариант и предполагается

Zi
12.12.2018
14:04:23
Как сделать таую аналогию на пайтон?
http://jsbin.com/xopaziy/1/edit?js,console

Denis
12.12.2018
14:04:25
Транзакции тоже идут лесом, но это не такая уж беда, если все разделено

Aragaer
12.12.2018
14:04:45
собссно я вот как раз и думаю, каждое из своих отдельных приложений докеризовать, тогда можно будет выкинуть мою самодельную оркестрацию

LighteR
12.12.2018
14:04:52