Ayrat
начать никогда не поздно!
*жду шутеечки про кончить*
Ayrat
*готовит стикер с Бивисом*
Hog
Гы-гы - он сказал кончить
Ayrat
Гы-гы - он сказал кончить
https://vignette.wikia.nocookie.net/beavisandbutthead/images/9/93/Beavis-1.png/revision/latest?cb=20120108001944
Hog
Диёр
на такую тонну спагетти так мало соусца
Anonymous
мож там внутре прикопано
Anonymous
сплошной соус а по краю макаронами присыпали
Hog
ну равиоли должны быть в контейнере!
Mark
Если пиццу разрешать на шесть частей, то получится гексагональная архитектура.
Ivan
а без корки это уже открытая архитектура и доступность
Диёр
а если только корки?
Ivan
если только корки, то это f# жет системс в перекладе нашего чатика
Anonymous
ну типа взял из очереди, положил в БД
а, что, просто отправить в топик Кафки и оттуда вычитать на другом конце уже нельзя?
Anonymous
типа producer -> Kafka -> consumer
Anonymous
забавно, что подобную архитектуру приходится ПРЕЗЕНТОВАТЬ
Anonymous
а что там презентовать? "привет, ребята, мы берем json, кладем в Кафку и оттуда читаем. пока, ребята".
Anonymous
видимо, консумер это как раз бд
https://docs.confluent.io/current/connect/index.html
Anonymous
на такой случай уже предусмотрена хипстерская технология
Anonymous
я даже процитирую:
Anonymous
Data Centric Pipeline – use meaningful data abstractions to pull or push data to Kafka. Flexibility and Scalability – run with streaming and batch-oriented systems on a single node or scaled to an organization-wide service. Reusability and Extensibility – leverage existing connectors or extend them to tailor to your needs and lower time to production.
Shub
кстати, если предложить сделать без Propulsion, камнями закидают?
типа того. propulsion вообще-то потребовался, чтобы взять состояние (начальный жсон), представить его в виде потока событий (Event Sourcing), чтобы потом снова собрать состояние (конечный жсон)
Shub
я спрашиваю, а зачем вам события? мне говорят, А ВДРУГ ЧТО-ТО ПОЙДЕТ НЕ ТАК, мы сможем прогнать события еще раз и восстановить правильное состояние.
Shub
сижу вот думаю, сказать им про наш retention period в кафке и космосе, или пусть так живут?
Shub
ну это аргумент нелохой на самом деле.
ок, я тебе расскажу про ретеншн - он всего 5 дней
Shub
к тому моменту, как ты выкатишь фикс в прод, тебе рестримить будет нечего
x
так а как, всё умирает навсегда? или прихранивается последняя версия джейсона а ивенты умирают?
Shub
ну кафка не может хранить стримы вечно, не так ли?
Shub
у нас раньше было 2 недели, это были дикие напряги с точки зрения инфраструктуры
Shub
а ивент сорсинг опирается на идею вечных немутабельных событий
Shub
Может.
ну если ты хочешь разориться на облаках - то конечно может
Shub
Тогда в чем профит? Мы три месяца храним.
откуда я знаю, в чем профит? подозреваю, что тут банальный карго-культ
x
ну если ты хочешь разориться на облаках - то конечно может
думал у волмарта свой датацентор, вроде ж уже взрослые
Shub
думал у волмарта свой датацентор, вроде ж уже взрослые
датацентр-то свой, только основные законы физики никто не отменял
Anonymous
ну если ты хочешь разориться на облаках - то конечно может
Ты серьезно? Без сарказма? Хочешь сказать, что хранить данные за последний мемяц, а не неделю вам настолько дорого?
Shub
у нас раньше был EventStore, который обещает именно персистентные немутабельные событий
Shub
в общем, у нас год назад перестали работать кое-какие апишечки. почему? потому что разработчики, следуя заветам отцов ДДД, запилили вечные стримы
Anonymous
ты себе размеры волмарта хорошо представляешь?
Наверно нет, но я думал, что там и профиты соразмерные.
Shub
и чтение этого стрима во-первых, занимает минуты, а во-вторых, роняет сервис с ООМ
Shub
Наверно нет, но я думал, что там и профиты соразмерные.
а причем тут профиты? тебе потребуется хранилище размером с территорию США
Shub
их тупо не существует
Shub
тут в кластере сотни тысяч топиков с дневным трафиком в десятки или сотни гигабайт
Anonymous
их тупо не существует
Это если по-идиотски ретеншин на весь кластер навесить? А если приоритезировать потоки данных и держать только ценное дольше?
Shub
Это если по-идиотски ретеншин на весь кластер навесить? А если приоритезировать потоки данных и держать только ценное дольше?
для этого придется давать контроль в руки разработчиков, а разработчики тут такие, что их опасно поссать отпускать в одиночку
Shub
вопрос надо ставить скорее так: почему у нас топики с дикими гигабайтами?
Shub
все, что ты говоришь - это возможно, причем уже сегодня, спору нет
Shub
но представь себе такого эффективного инженера, который решит проиграть все сообщения с начала жизни проекта? случаи такие были
Anonymous
многоуровневый копролит
Anonymous
для этого придется давать контроль в руки разработчиков, а разработчики тут такие, что их опасно поссать отпускать в одиночку
не уверен. дело в том, что у нас недавно была похожая боль, только в масштабах далеко не Волмарта. мы и на 100 ГБ данных-то в сумме не выйдем наверно за месяц, это если всю систему взять. но не суть, я к тому, что вопрос приоритезации потоков был одним из вопросов, которые я и поднял. и оказалось знаешь что, не поверишь - чтобы приоритезировать данные, как и чтобы выработать адекватную recovery strategy, нужно кристально четкое понимание того, какие потоки данных бизнесу нужны. это на 60% задача бизнес-аналитика, если не на 80%.
Anonymous
вопрос надо ставить скорее так: почему у нас топики с дикими гигабайтами?
беря поправки на исполнительный контекст, да, это может быть невозможно. но я ж хвалил решение не в контексте вашей команды, а за саму суть.
Anonymous
кто-то хочет почувствовать себя Всевышним?
Shub
забавно. а для чего?
просто так. потому что может
Shub
за год перепроигрывание событий я видел... аж ни разу
Shub
зато видел миллионы алертов в стиле "ваш консумер отстал на 5 сообщений"
Anonymous
за год перепроигрывание событий я видел... аж ни разу
а оно в техдизайн закладывается решения? отдельным пунктом?
Shub
возвращаясь к вопросу, почему разраб решил начать с начала стрима: не подумал, если коротко
Shub
а оно в техдизайн закладывается решения? отдельным пунктом?
тут в техдизайн много чего закладывается, но тут существует два уровня реальности - декларируемый и исполняемый
Shub
связи между ними нет
Anonymous
потому что я давно замечаю, что вот эти все фишки они в коллективном бессознательном на уровне генетической памяти. "что-то такое читал на Хабре в перерывах между Сашей Грей не на Хабре" - обычно это так. не более, чем это.
Anonymous
и никто реально не полагается на такие возможности системы, что равносильно их отсутствию.
Anonymous
снапшоты не?
снапшот == невозможность переиграть ВСЕ события, т.к. часть схлопнулись в снашот.