В чем разница между Apache kafka и ActiveMQ

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
27
задан Kukeltje 15 May 2018 в 06:56
поделиться

1 ответ

Я думаю, что одна вещь, которую следует отметить в дискуссии о том, какие брокеры использовать (и когда появляется Kafka), заключается в том, что эталонный тест Kafka , на который часто ссылаются, показывает верхний предел любого современного распределенного компьютера. , Все сегодняшние брокеры имеют примерно одинаковую общую емкость в МБ / с. Kafka отлично справляется с небольшими сообщениями (10-1024 байта) по сравнению с другими брокерами, но все еще ограничивается на отметке ~ 75 Мбит / с.

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

У всех брокеров одинаковые проблемы с обратным давлением - Кафка может выполнить «LAZY PERSISTENCE», где производитель не ждет, пока брокер синхронизирует данные с диском… это хорошо для многих случаев использования, но, вероятно, Сценарий «Я забочусь о каждом отдельном сообщении» не упоминается в его слайд-шоу.

Kafka действительно хорош для горизонтального масштабирования для таких вещей, как обработка больших данных небольших сообщений. ActiveMQ больше подходит для класса использования, часто называемого корпоративными сообщениями (это просто термин, не означает, что Kafka не подходит для предприятия) - транзакционные данные (хотя Kafka добавляет это) .. киоск .. розничный магазин .. магазин и пересылка .. обход dmz .. публикация центра обработки данных в центр обработки данных и т. д.

10
ответ дан Matt Pavlovich 15 May 2018 в 06:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: