Slava
это же внутренние сервисы
Oleg
Это ответ на мой вопрос
Igor
Вот удивительная вещь. Все знают, любят, всем нравится, но никто толком не знает как их готовить. :)
Slava
в спотифае знают
Igor
Да все серьезные знают. У Гугла того же изначально сервисная архитектура. Контейнерами деплоили еще когда никто не знал про cgroups.
Slava
сервисы != микросервисы же
Igor
Ну это холиварная тема. В их условиях любой микросервис в итоге в GAE вырастает :)
Igor
Т.е. с точки зрения терминологии и юзкейса, URL Fetch API, Mail API в App Engine — это микросервисы или нет?
Slava
нет
🏴‍☠️ Alexey
https://texlution.com/post/elixir-concepts-for-golang-developers/
cntmprrart
Говно, если разбивать буквально на каждую функцию. В целом я более, чем за.
cntmprrart
То бишь, микросервисы — хорошо, но не нано.
Ruslans
То бишь, микросервисы — хорошо, но не нано.
На мой взгляд одна из самых больших проблем в такой системе - поддержка, для каждого сервиса своя сборка, при обновлении потенциально нужно обновлять все сервисы, тестирование усложняется, поднять рабочую тестовую среду сложно, а создание искусственной среды скорее всего далеко не идеально, сильно отличается от реальности, а если команда большая, то это превращается в ад и израиль - черт ногу сломит в этих 50+ сервисах, поэтому как появляется новая задача, я десять раз подумаю прежде чем зафигачить новый сервис для новой офигенной фичи.
Constantine️
как усложнится тестирование, если даже юнит тесты или приемные тесты ты пишешь на часть кода/фичи, а не на весь монолит сразу?
Constantine️
черт сломит ногу в 50+ сервисах. я тебя умоляю :) в 50 сервисов можно онлайн магазин засунуть, а это чуть сложнее сайта визитки
Constantine️
у меня по микросервисам всегда основной вопрос, это хранение в гите) либо свалка в одном месте либо овер 200 репозиториев
Ruslans
Это я просто о наболевшем в моем рабочем, кровавый энтерпрайз, тестирование всего продукта в целом, а он очень большой
Constantine️
ну кровавый энтерпрайз как правило писался на джава5
Ruslans
ну а у нас на плюсах)
Constantine️
красота какая )
Ruslans
боль неимоверная
Ruslans
самое крутое это сборка ядра - 12 часов)
Constantine️
ну еще бы :D
Constantine️
а какая предметная область?
Ruslans
электронная документация
Constantine️
документооборот?
Constantine️
а-ля гос структуры, налоговая и все что рядом
Ruslans
именно так
Ruslans
я думаю даже название продукта знаете, но называть не буду)
Constantine️
да их не много в РФ)
Igor
Забавно, в теории микросервисы как раз должны спасать от пересборки всего.
Constantine️
если я верно понял о чем, то история его тянется с 96-97 годов
Constantine️
:D
Constantine️
вам просто китайцев нужно больше в проект
Constantine️
те умеют чудеса пересборок и оптимизаций делать
Ruslans
вам просто китайцев нужно больше в проект
в этом и проблема! много неквалифированных сотрудников, отсюда неправильное взаимодействие сервисов
Ruslans
и часто вообще непонятно что это и зачем
Constantine️
а как вы деплоите? :D
Constantine️
12 часов это сильно, конечно )
Constantine️
автотесты как проходят и прочее
Ruslans
Я, конечно, сам не то чтобы сильно квалифицированный, диплом сижу дописываю, но страшного много насмотрелся, есть люди которые не хотели переводить бл с винды на линукс, потому что А ЧТО ТАКОЕ ЛИНУКС, Я НЕ УМЕЮ
Igor
а как вы деплоите? :D
Тоже хотел спросить про CI/CD, discovery, но боюсь там что-то своё :)
Ruslans
а это всё вместе 12 часов в дженкинсе, параллельно все тесты и сборки на разные ОС
Ruslans
ci самый обычный, просто дженкинс автоматически собирает из гита
Ruslans
деплоймент свой, даже отдельный сервис написали
Ruslans
но зато он умеет откатывать:D
Igor
Да, собрать то не беда. А вот доставить, запустить.
Constantine️
они сразу серверы переключают :D
Constantine️
и доставщик это индус с флешкой
Constantine️
суровый деплоймент из девяностых )))
Constantine️
(шучу конечно)
Ruslans
как раз с ним более менее наладили)
Ruslans
а вот прикладные сервисы боль
Ruslans
ну ладно, только я вам ничего не говорил😄
Igor
🙈
Ruslans
Я надеялся, что кто нибудь скажет, что всё не так, и как надо правильно)
cntmprrart
суровый деплоймент из девяностых )))
Осталось только папочку расшаренную вместо dcvs
Ruslans
дерево папочек, v1, v2, v100500
Marsel
ну раз папочка, а не директория, тады "новая папка N" :)
Sergey
Мы строим на микросервисах, у нас каждый микросервис выполняет какую либо одну задачу, предоставляет http api, и запущен в докер контейнере, под каждый микросервис свой репозиторий. Связанность между сервисами крайне низкая. Сейчас порядка 40 микросервисов. Есть свои грабли, но в целом подход очень ок.
Anonymous
+1 у нас так же. Собирается и тестируется ci в имеджи, потом имеджы через registry пулом на продакшн.
A.
Новый папка
Welcome Bot
Добро пожаловать в чат "Golang RU", I M, агент без юзернейма! Добро пожаловать в чат русскоязычного комьюнити языка программирования Go! Здесь не любят и активно карают за: — оскорбления; — nsfw контент; — флуд, флейм и спам; — избыток оффтоп тем; Список всякой всячины: https://github.com/avelino/awesome-go Ништяки: https://github.com/golang/go/wiki/Projects Сайт комьюнити: http://4gophers.ru/ Список проектов, которым нужны контрибьютеры: https://github.com/ninedraft/gocryforhelp Приятно провести время! :3
Marsel
ребят, кто-нибудь генерил формы в xlsx на 100 000 строк и примерно на 100 столбцов? ну я про то, что на этом диапазоне будет все данными забито. насколько вообще такая процедура затратная в плане ресурсов? пытаюсь понять либо я дурак, либо конкретно генерация тормозит. потребляет примерно 3гб оперативки на такие масштабы. хочу понять норм или не норм :)
Roman
а какая цель конечная? может csv проще сделать?
Roman
xlsx это xml
Marsel
csv тоже есть.
Marsel
нужен и csv и xlsx
Marsel
цель - форма для печати для аналитиков. многостраничная.
Constantine️
xlsx = zip + xml
Marsel
я это понимаю
Constantine️
не нужно юзать либы, все примитивно и потоком писать
Constantine️
я на пхп такое могу написать и память не потечет :D а тут голанг
Marsel
киньте ссылкой если есть, как реализовать подобное )