Настройка производительности NATS IO
Я написал издатель, подписчик на Java. Делал кластеризацию также на уровне сервера. Умеет публиковать и подписывать сообщения объемом 30 КБ со скоростью 500 TPS (транзакция в секунду).
Но я хочу улучшить нашу производительность до более чем 2000 TPS. Пожалуйста, предложите, как добиться того же.
Я использовал Java с Apache Camel.
1 ответ
Вы использовали тег nats-streaming-server. Просто убедитесь, что вы имеете в виду потоковую передачу NATS или NATS.
Когда дело доходит до потокового NATS, publish
call является запросом-ответом с сервера, поэтому он медленнее. Если вы предоставите AckHandler
вы сможете публиковать быстрее, так как вызов публикации теперь не блокируется. Сервер по-прежнему отправляет подтверждение публикации, но обработчик вызывается асинхронно. См. https://github.com/nats-io/java-nats-streaming для примера использования.