• $10.000 за хвилину даунтайму: архітектура, черги та стрімінг у фінтех

    Совершенно согласен на 100%, но это уже вопрос к автору. :)

  • $10.000 за хвилину даунтайму: архітектура, черги та стрімінг у фінтех

    Ну то есть вы подстроились под этот кейс и ваш ответ совершенно верный.

  • $10.000 за хвилину даунтайму: архітектура, черги та стрімінг у фінтех

    Все верно вы написали, только этого может быть недостаточно.

    Пример.
    У вас и вашей жены(предположим что она есть) общий счет к которому привязаны платежные карты. На счету 100 евро. Вы совершаете покупки независимо.
    Вы совершате покупку на 30 евро.
    Жена совершает покупку на 80 евро.
    Поскольку карты имеют разные номера, то они попадают в разные партиции.
    Партиции загружены неравномерно, даже с учетом того что упомянула @Emma Orlova
    Консьюмеры висящие на этих партициях тоже могут читать с разной скоростью.
    Предположим что данные из партиции в которой хранится инфа о транзакции жены была обработана раньше, следовательно пройдя по цепочке процессинг мы имеем остаток на счете 20 евро и тут другой консьюмен вычитывает данные о транзакции мужа и получаем баланс на счете −10 евро. :)

    Да, я знаю что пример немного натянутый, но я постарался его сделать простым.
    Подобные примеры в жизни тоже случаются типа «выдали из банкомата больше денег чем есть на счету для дебетной карты и т.д.»

    И это я еще опускаю тот факт что заказчик может постоянно менять условия к системе, и новая версия софта может потребовать нового ключа партицирования, то есть постоянный группен-секс с репартицированием и разгребанием проблем.

    Підтримав: Matrix
  • $10.000 за хвилину даунтайму: архітектура, черги та стрімінг у фінтех

    Закончите мысль. Более развернутый пример можете привести? Особеенно как ключ партицирования обеспечивает последовательность.

  • $10.000 за хвилину даунтайму: архітектура, черги та стрімінг у фінтех

    . І ми до цього також йдемо, але не в тему щоб використати Debezium а щоб зробити щось простіше ніж Debezium, не на Java а на Go.

    Вместо того чтобы использовать готовые решения, с которыми нужно научиться работать, развлекаетесь написанием своих собственных.
    «Написано не на GO» — это хреновый аргумент, которых говорит о том что у вас много времени. Эксплуатация готовых решений обычно более дешева чем создание собственных решений с последующей их доводкой.

    Debezium також не гарантує порядок, бо він читає WAL а в WAL транзакції пишуться після коміту, не на старті. Відповідно ордерінг в WAL не гарантується. В PostgreSQL механізм реплікації має ордерінг буфер, але і він не вирішує проблему непослідовних комітів. Перша транзакція стартує в 10:00:00, закінчується в 10:01:00, друга транзакція стартує в 10:00:30, завершується в 10:00:40.

    Это ж вы решили использовать СУБД в качестве очереди? WAL в СУБД работает правильно, иначем бы не работало рековери в самой СУБД, просто вы выбрали неудачное решение, и теперь пытаетесь как с этим жить.

    Правильно ли я понимаю, что когда вы говорите о времени начала транзакции — это время генерируемое Payment Gateway, а не время комита ивента в таблицу СУБД?

    Підтримав: Сергій Назаревич
  • $10.000 за хвилину даунтайму: архітектура, черги та стрімінг у фінтех

    ніяких образ, якось пересічемось на FWDays/Dou івентах і обговоримо голосом)

    Вряд ли. Если только он будет проходить в Праге, а не в Киеве. :)

  • $10.000 за хвилину даунтайму: архітектура, черги та стрімінг у фінтех

    То о чем вы говорите это не Ordering, а Distributed Key, который используется для распределения данных при записи в партиции топика и только. Иными словами данные из одной партиции, записанные в топик позже могут быть вычитаны ранее чем аналогичные данные пришедшие ранее, но находящиеся в другой партиции. Distributed Key ничего с этим не сможет сделать. Вам все равно после Кафки придется эти данные пересобирать и упорядочивать.

    Підтримав: Сергій Назаревич
  • $10.000 за хвилину даунтайму: архітектура, черги та стрімінг у фінтех

    Мои примечания.

    1. Debezium непросто так используют.
    Суть в том, что его source connector напрямую читает из системного лога СУБД, который в свою очередь гарантирует последовательность транзакций ( тот самый WAL но для самой СУБД). То есть данные в нем уже отсортированы по времени транзакций и вы можете сконфирировать ваш коннектор так чтобы он фильтровал данные из системного лога которые касаются исключительно интересующих вас таблиц. Ваш «велосипед» с таблицей СУБД с таймаутами этого не умеет и уметь не будет. Еще мне помнится что у Debezium сорс коннектор-ы пишут всегда в топики с одной партицией.

    2. Ordering в Кафке возможен только в случае если в топике одна партиция, одна партиция — это проблема для масштабирования при интенсивном стриминге, так что либо производительнгость и масштабирование, либо Ordering и отсутствие последнего и без вариантов.

    3. Вы ничего не сказали о том, что представляет из себя Payment gateway и как он пишет в СУБД. Это ваша внутрення разработка или сторонняя? Вам ниже уже упомянули про anti-patern использования СУБД в качестве «приемщика стрима». Вы ничего не сказали о потерях данных в случае если СУБД «ляжет», пусть даже на короткое время и как это резолвится, но много и долго распрострянялись про Кафку.

    Без обид, но по-моему архитектура «сыровата» и требует переосмысления.

  • Стосунки з великою різницею у віці

    А еще чувак стрелял со станка ( было на одном из видео)
    На такой дистанции не попасть из нарезного длинноствольного оружия с оптическим прицелом, да из семи попыток....
    Говорят сильно волновался.... :)

    Так просто для справки.
    Для обычного лука максимальная дистанция стрельбы во время соревнований 90м. Диаметр 10-ки на 90м — 122 мм ( сильно меньше чем репа Трампа ), а есть еще блочные луки которые кучней бьют, и блочные арбалеты.
    К чему это все? К тому что 130м — это расстояние вполне доступное для метательного оружия.

  • Як китайська компанія стала продавати більше електромобілів, ніж Tesla. Історія BYD

    Warren Buffett’s company slashed its stake in BYD.

    Как же это убого, слушать от бывших соотечественников подобное лайно.
    «Какая разница» — на марше.

    Підтримав: Антон Тимошенко
  • Де ви купуєте та тримаєте крипту?

    Может вам еще и ключ от квартиры где деньги лежат©? :)

    Підтримав: Andrey Minakov
  • Перше враження від Ubuntu 24.04 LTS

    и gnome-term заменить на обычный xterm, потому что переодически жрет СPU немеряно. :)

    Підтримав: Vasyl Khrystiuk
  • Перше враження від Ubuntu 24.04 LTS

    Фантастика на втором этаже© :)

  • Перше враження від Ubuntu 24.04 LTS

    Не все так просто.
    Для обновления я запускаю Software Updater, через который видно какие пакеты будут обновляться, где вы может выбрать что обновлять а что нет.
    Однако, насколько я понял результатом работы этого пакета является безусловный запуск обновлений через snap, без возможности выбора обновляемых пакетов.

  • Перше враження від Ubuntu 24.04 LTS

    Использую Ubuntu наверно с 10 версии.
    Cейчас у меня 22.04.4 LTS.
    Среди последних моих находок, это «выгребание» после многочисленных апгрейдов.
    Лечится сносом и чистым сетапом.

  • Перше враження від Ubuntu 24.04 LTS

    А еще snap обновляет пакеты типа автоматом. Хотелось бы все же какой-то контроль на тем «что и когда обновлять».

    Підтримав: Dmytro Onysko
  • Чоловіки за кордоном і мобілізація

    Иван,
    у тебя президент страны четырежды уклонист, который никогда нигде не служил и тоже самое касается его ближайших соратников.
    А кто же его избрал?

  • Чоловіки за кордоном і мобілізація

    Сколько лет уже Украина безуспешно бьется за экстрадицию коррупционеров проживающих в разных странах Европы, например из Австрии?
    А тут поднимается тема об экстрадиции не одного-двух-десяти человек, а о десятках тысяч.

    У вас просто нет мозгов от слова совсем. :)

  • Чоловіки за кордоном і мобілізація

    Пиздеж.

    Если у вас ВНЖ вас максимум могут поставить на «временный консульский учет» сроком на 1 год, после чего этот статус снова надо обновлять. И для этого почти ничего не нужно: фотки, подтверждение наличия ВНЖ и все. Ставят вообще без проблем.

    Если ПМЖ, то тоже, а вот для того чтобы стать на «постоянный консульский учет», для этого надо выписываться с родины сдавать локальный паспорт и т.д. все по процедуре и только тогда вы будете официально считаться «гражданином Украины постоянно проживающим за рубежем».

  • Чоловіки за кордоном і мобілізація

    Раньше точно работало, потому что сначала я поехал на родину в попытке выписаться, сходив несколько раз в налоговую в надеже выяснить и получить «обходной лист», где никто нихрена толком не знает. Побившись головой о стену недельку-полторы, пришел к выводу что это пустая трата сил и времени, после чего вернулся и подался через местное консульство.

    Консульства переодически лихорадит, то ли от «мудрого руководства», то ли еще от чего-то, из-за чего там случаются переодически местные перегибы типа «бланков паспортов нет — валите на родину для замены паспорта», но оно потом как-то налаживалось. То есть проблемы встречались и до войны. Чего ранее не встречалось, так это сознательного нарушения законов и открытого заявления во всеуслышанье чиновников типа Кулебы подтверждающего отказ от обслуживания.

    Підтримали: Vlad Spesyvets, Iliya Isd
← Сtrl 123456...16 Ctrl →