powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / центр уведомлений
25 сообщений из 170, страница 6 из 7
центр уведомлений
    #40100724
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Он имел ввиду что все это для автора топика фиолетово.
Плюсы и минусы конечно есть.
Но для этого надо делать систему а не быть тут мимопроходящим.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100725
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Большое число подписок автору как раз не нужно.
Юзверей 500штук и события висят 10мин
...
Рейтинг: 0 / 0
центр уведомлений
    #40100733
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Он имел ввиду что все это для автора топика фиолетово.
Плюсы и минусы конечно есть.
Но для этого надо делать систему а не быть тут мимопроходящим.

Топик живет своей жизнью. Что мы будем спрашивать у автора разрешение на то что нам обсуждать?

Только модератор решает когда что закрывать. А если кто-то хочет задать вопрос и получить ответ
- так это не к нам. Это в toster или stackover.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100735
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ну вот смотри. Ты кликнул что rabbit лучше протокол.
Я кликну что кафка это хайпово.
Нельзя же однозначно сказать что первое лучше второго)
Абстрактно не обсуждают архитектуру (с)
...
Рейтинг: 0 / 0
центр уведомлений
    #40100737
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данных условиях автору вообще - по барабану что брать.

Пусть берет ApacheActive MQ. Бесплатен. И ставится легко. Все протоколы поддерживает.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100740
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Не потянет. Не видит разницы между сервлетом, сервисом Оси и системами на сообщениях.
Удачи ему.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100743
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О чем поговорить в пятницу? Андрейка поднимал темы про Kafka. Но у него не было ни логов ни сорцов.

Можно взять синтетическую задачу. Например - генерацию простых чисел и просто пересылку из
по схеме peer-2-peer. И реализовать ее для Kafka. Потом посмотреть на перформанс.

Я пока использовал только IBM/MQ, ApacheMQ в своих продуктовых задачах. Ну еще был
Amazon SQS. Но с этим тяжко экспериментировать. Нужен аккаунт в клауде.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100744
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

...
Можно взять синтетическую задачу. Например - генерацию простых чисел и просто пересылку из
по схеме peer-2-peer..... Потом посмотреть на перформанс.
...

Apache.HC 0 up to 50-100 Mb / sec via 1Gb ethernet.

потом взять кафку и посмотреть на перформанс )))
...
Рейтинг: 0 / 0
центр уведомлений
    #40100745
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
mayton

...
Можно взять синтетическую задачу. Например - генерацию простых чисел и просто пересылку из
по схеме peer-2-peer..... Потом посмотреть на перформанс.
...

Apache.HC 0 up to 50-100 Mb / sec via 1Gb ethernet.

потом взять кафку и посмотреть на перформанс )))


Я согласен. Только кейс для Apache.HC - с тебя.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100748
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда с тебя генерация случайных чисел с такой скоростью )))

Apache.HC просто транспорт поверх сокетов, 50-100 Mb сек в реальных приложениях видел. Вся потеря времени исключительно преобразовании кодовых страниц (Unicode-UTF8/1251) и двойной-тройной буфферизации поверх NIO.

p.s.
это только в документации/рекламе про нативное выделение памяти написано, что оно дает возможность (десять раз ха), избежать множественного копирование из памяти-в-память при общении с системой ввода-вывода. На практике, все обстоит с точностью до наоборот. Скорость одиночного доступа к нативной памяти, ниже самого нижайшего плинтуса. Если не скопировать в нормальную heap-область, все вообще будет стоять колом. Т.ч. при NIO количество копирований память-память ни только не уменьшается, а наоборот становится до неприличия ненормальным.
(дебажил Apache.HC, правда сильно предыдущих версий, но не думаю, что там что-то поменялось)

p.p.s.
Если под пересылкой ты имеешь в виду round-trip, отсылку и ответ, то тогда, скорее всего max 800-1000 сообщений в сек. на ethernet ))) Где-то 200-300 на ethernet 10 Mb, 400-500 на ethernet 100 Mb, 800-1000 на 1G и 1000-1200 на 10 Gb. ))) Нужно быстрее - покупайте нормальное оборудование, а не ethernet )))
...
Рейтинг: 0 / 0
центр уведомлений
    #40100753
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Ну тогда с тебя генерация случайных чисел с такой скоростью )))

Я подготовлю их заранее.

Я - хитрый.

Неважно что будем гонять по сети. Хоть UUIDs. Главное чтоб был контент. И была какая-то возможность валидации.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100754
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Не ну как неважно.
Сообщение короткое и сообщение вместе с ворд документом это разные скорости.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100757
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Если под пересылкой ты имеешь в виду round-trip, отсылку и ответ, то тогда, скорее всего max 800-1000 сообщений в сек. на ethernet ))) Где-то 200-300 на ethernet 10 Mb, 400-500 на ethernet 100 Mb, 800-1000 на 1G и 1000-1200 на 10 Gb. ))) Нужно быстрее - покупайте нормальное оборудование, а не ethernet )))

Я себе вижу тестирование так.

Мы поднимаем конфигурацию 3х приложений.
Producer (java), Consumer(java), Broker(*)

Всё на localhost с сетевым интерфейсом локальной петли. Ее характеристики можно обсудить.
Эта конфигурация поднимется даже на ноутбуке.

Для разных брокеров (Kafka/Apache*) мы договариваемся о смысле параметров перформанса.
Например для гарантий доставки (at least once, at most once..) мы стараемся реализовать
одинаковые конфигурации хотя-бы на уровне нашего понимания.

Для оптимизаций типа объединения месседжей в пачки - мы тоже договариваемся о том чтобы
смысл бенчмарка был примерно одинаков для разных брокеров.

Сетевой прикладной протокол - нам вообще не интересен. Но можно выбирать самый быстрый
с точки зрения накладных расходов.

После того как наиграемся с loopback - можно поднять конфигурацию хотя-бы на 2х физически
разных хостах.

Но я думаю что это будет не скоро.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100758
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

это только в документации/рекламе про нативное выделение памяти написано, что оно дает возможность (десять раз ха), избежать множественного копирование из памяти-в-память при общении с системой ввода-вывода. На практике, все обстоит с точностью до наоборот. Скорость одиночного доступа к нативной памяти, ниже самого нижайшего плинтуса. Если не скопировать в нормальную heap-область, все вообще будет стоять колом. Т.ч. при NIO количество копирований память-память ни только не уменьшается, а наоборот становится до неприличия ненормальным.
(дебажил Apache.HC, правда сильно предыдущих версий, но не думаю, что там что-то поменялось)

Ты поднял очень интересную тему. Тему off-heap доступа которую я тоже хотел-бы обсудить отдельным топиком.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100761
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Не ну как неважно.
Сообщение короткое и сообщение вместе с ворд документом это разные скорости.

Для толстых сообщений необходимость мессенджинга - сомнительна. Их обычно бьют на две части.
Одна - собственно тело сообщения - идет в NAS или любое другое хранилище. А в брокер пересылают
только ссылку.

Помнишь как в лихие 90-е на телефон кидали MMS-ки. Вот это оно и есть. Это SMS-ка с линком на веб.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100763
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да. Получается средняя по госпиталю.
Непонятны размеры сообщений в боевой среде.
Фикция а не тесты.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100766
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Да. Получается средняя по госпиталю.
Непонятны размеры сообщений в боевой среде.
Фикция а не тесты.

Ну у тебя есть продуктовая система с месседжами? Можешь оценить средний размер? И всякие процентили?

Мы сымитируем.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100767
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня была система которая слала FIX-messages для торговли equities. Какой средний размер месседжа?
Я не помню. Но могу синтезировать парочку и просто прикинуть на глаз размер.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100768
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Больно у Вас как-то сложно. Сообщения. Толстые, тонкие.

IMHO (упрощенно)

1. Может быть поток сообщений в одну сторону: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37....

Толстое оно, тонкое - глубоко пофиг. Каждое число конечное тонкое, но все вместе - так толсто, что просто обзавидуешься

2. Может быть обмен требующий полноценных round-trip'ов

- Get first number
- 2
- Get next number
- 3
- Get next number
- 5
etc...etc..

Тут опять таки, толстое/тонкое... 10 G ethenet, Jumbo frame... и толстое уже и не настолько толстое

Но latency все равно будет ниже плинтуса, дабы Ethernet и TCP/IP. Родовая травма, которая лечится только полным выпиливаением.

Ну и loopback в данном случае будет совсем не показатель. Т.к. сильно зависит от OS. Т.к. "правильный" loopback (если повезет с реализацией в конретной OS), "плохой" loopback (если не повезет) и реальный ethernet - ничего общего иметь между собой не будут.

IMHO & AFAIK

p.s. примерное масштабирование технологии Ethernet я показал выше. С каждым поколением:
Цифирька скорости увеличивается на один нолик
А латенси падает (кол-во round trip в секунду растет) только где-то в два раза
p.p.s. сферические тесты сети вроде под 50 000 сообщений в секунду на 1Gb Ethernet показывают. Но то сферические тесты на C. Как только что-то прикладное, то минимум нолик удаляй, а то и все два.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100770
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

Ну и loopback в данном случае будет совсем не показатель. Т.к. сильно зависит от OS. Т.к. "правильный" loopback (если повезет с реализацией в конретной OS), "плохой" loopback (если не повезет) и реальный ethernet - ничего общего иметь между собой не будут.

А меня устравивает loopback. Во первых - это позволяет нам оценить скорость работы брокера в чистом виде.
Во вторых Василий нам где-то анонсировал zero-copy оптимизации для loopback в последних версиях JDK. Это хорошо. Мы будем
это принимать в расчет.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100773
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev

2. Может быть обмен требующий полноценных round-trip'ов

- Get first number
- 2
- Get next number
- 3
- Get next number
- 5
etc...etc..

Тут опять таки, толстое/тонкое... 10 G ethenet, Jumbo frame... и толстое уже и не настолько толстое

Но latency все равно будет ниже плинтуса, дабы Ethernet и TCP/IP. Родовая травма, которая лечится только полным выпиливаением.

Я не уверен что нам стоит обсуждать именно latency. Тот сценарий который ты нарисовал больше похож
не на MQ систему а на работу обычного синхронного веб-сервиса.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100775
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C рабитами, кафками не сталкивался

Т.к. там, где реально большие нагрузки (tradingview.com) все сообщения посылали руками через HTTP и проблем не знали

В текущей прикладной области enterprise: прикладных систем очень много, но организация одна. Т.ч. db-link и так же, проблем не знаем. Нафиг нам эти Ваши кафки?

Был опыт работы со СМЭВ и ГИС ГМП ))) Такой себе опыт. Электронный документооборот в виде сообщений с TIFF-сканами, которые потом распечатываются на бумагу на принтере, с клавиатуры вводятся в прикладную систему (ну или еще что-то с ними делается), из прикладной системы распечатывается отчет, сканируется, TIFF-файл посылается через СМЭВ, всякие кафки и SOAP'ы. Полностью ассинхронный, импортозамещенный, электронный документооборот.
(опыт многолет назад, сейчас, возможно, все не так комично)

ГИС ГМП тот момент более-менее заставили использовать ГАИ, но в налогой инспекции внедрение застопорилось

т.к. алгоритм генераци пеней (по сообщениям в профильных конференциях) был замечательный.
если ты что-то должен и пытаешься оплатить - тебе по закону начисляют пени минимум в 1 коп
если ты пытаешься оплатить эту коп. - опять пени в 1 коп.
и так до бесконечности )))
наши законы, налогавая и ГИС ГМП - сила!
В любом случае, сколько не плати, все равно должен останешься

Налоговой это как-то не очень понравилось и они внедрение приостановили ))) Поскольку налоговая это не какая-то ГАИ, а государство-образующая структура, продавить налоговую "и так сойдет" не получилось. Внедрение приостановилось.

Когда мы писали модуль для ГИС ГМП для нашего заказчика, мы сразу сказали, что фиг клиенты что-то смогут оплатить через тот банк, который к ГИС ГМП подключится ))) очень долго они будут ходить и выяснять, что же с его платежем произошло ))) и в ГИС ГМП и в нашей системе )))

Единственный банк в СПб, который на тот момент отчитался о внедрении ГИС ГМП, был АКБ "Таврический". Чуть погодя ))), как все помнят, он объявил о своем банкротстве. Если между этими двумя фактами (ГИС ГМП и банкротством) какая-то связь - то простым смертным не ведомо )))
...
Рейтинг: 0 / 0
центр уведомлений
    #40100776
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
В том то и дело что тема то интересная, но редкая)).
У меня все проекты синхронные.
Ну и писать асинхронку с событиями сложнее.
Так что опять ждем не ленивого ТС с нормальными вопросами.
Он делает а мы... направляем)))
Ты нормальный трафик событий не родишь.
...
Рейтинг: 0 / 0
центр уведомлений
    #40100780
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
сферические тесты сети вроде под 50 000 сообщений в секунду на 1Gb Ethernet показывают. Но то сферические тесты на C. Как только что-то прикладное, то минимум нолик удаляй, а то и все два.
+1
Это как с субд.
Начинаешь вставлять - 10 записей в сек.
После тюнинга и настроек - 1000000 в сек)))))
...
Рейтинг: 0 / 0
центр уведомлений
    #40100792
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Leonid Kudryavtsev
сферические тесты сети вроде под 50 000 сообщений в секунду на 1Gb Ethernet показывают. Но то сферические тесты на C. Как только что-то прикладное, то минимум нолик удаляй, а то и все два.
+1
Это как с субд.
Начинаешь вставлять - 10 записей в сек.
После тюнинга и настроек - 1000000 в сек)))))


Вот интересно с точки зрения Kafka consumer 1 сетевое сообщение != (не равно) 1 MQ сообщению?

Метод poll изначально ориентирован на пачку.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
        while(true) {
            ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(pollTimeMs));
            for(ConsumerRecord<String, String> record : records) {
                logger.info("Received message topic = {}, partition = {}, offset = {}",
                        record.topic(),
                        record.partition(),
                        record.offset());

                if (record.value().equals("poison-pillow")) {
                    break;
                }
            }
        }


(про producer пока не говорим)
...
Рейтинг: 0 / 0
25 сообщений из 170, страница 6 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / центр уведомлений
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]