Источник: Nuances of Programming Kafka позволяет передавать очень большие объемы данных с минимальной задержкой (100 Мбайт/с при 100 тыс. сообщений в секунду с задержкой в 2 мс). Здесь можно провести аналогию с жидкостью, протекающей через широкую трубу. Чем больше диаметр трубы, тем больше объем протекающей через нее жидкости. В основе производительности Kafka лежит несколько решений. Рассмотрим два наиболее важных. Отличную производительность Kafka обеспечивают два фундаментальных принципа — последовательный ввод-вывод и принцип нулевого копирования. 1. Последовательный ввод-вывод Согласно распространенному заблуждению, доступ к диску медленнее, чем к памяти. Однако многое зависит от используемой схемы доступа. Произвольный доступ к диску более медленный, поскольку требуется время для физического перемещения данных из одной точки в другую. Но при последовательном доступе головке чтения/записи с диска не нужно прыгать с места на место. Поэтому чтение и запись блоков данных (одного з