Сколько ресурсов операционной системы необходимо для одного потребителя Java Kafka?

Для визуальных учащихся при определении функции без .prototype

ExampleClass = function(){};
ExampleClass.method = function(customString){
             console.log((customString !== undefined)? 
                          customString : 
                          "called from func def.");}
ExampleClass.method(); // >> output: `called from func def.`  

var someInstance = new ExampleClass();
someInstance.method('Called from instance');
    // >> error! `someInstance.method is not a function`  

С тем же кодом, если .prototype добавлен,

ExampleClass.prototype.method = function(customString){
             console.log((customString !== undefined)? 
                          customString : 
                          "called from func def.");}
ExampleClass.method();  
      // > error! `ExampleClass.method is not a function.`  

var someInstance = new ExampleClass();
someInstance.method('Called from instance');
                 // > output: `Called from instance`

Чтобы сделать его более понятным,

ExampleClass = function(){};
ExampleClass.directM = function(){}  //M for method
ExampleClass.prototype.protoM = function(){}

var instanceOfExample = new ExampleClass();

ExampleClass.directM();     ✓ works
instanceOfExample.directM();   x Error!

ExampleClass.protoM();     x Error!
instanceOfExample.protoM();  ✓ works

**** Примечание для примера выше, someInstance.method () не будет выполняться как, ExampleClass .method () вызывает ошибку & amp; выполнение не может продолжаться. Но ради иллюстрации & amp; Простое понимание, я сохранил эту последовательность. ****

Результаты, полученные из chrome developer console & amp; JS Bin Нажмите на ссылку jsbin выше, чтобы выполнить код. Переключить секцию комментария с помощью ctrl + /

2
задан Max 27 February 2019 в 18:35
поделиться

1 ответ

1,2) Потребители запрашивают метаданные у одного из брокеров, который является лидером раздела. Каждый потребитель может обрабатывать все операции ввода-вывода из одного потока, так как клиенты Java спроектированы вокруг цикла обработки событий, который управляется poll(). Вы также можете создавать многопоточных потребителей, но вам нужно позаботиться о смещении управления. Обратитесь к документации Confluent для более подробной информации о реализации Java-клиентов.

3) Согласно Apache Kafka и Confluent Enterprise Reference Architecture ,

Потребители используют по крайней мере 2 МБ на каждого потребителя и до 64 МБ в случае больших откликов от брокеры (типично для бурного трафика)

4) Количество потребителей, о которых вы упомянули, огромно, поэтому вам понадобится очень веская причина, чтобы выбрать 100 000 потребителей. Хотя это зависит от сценария, но даже Netflix должен использовать намного меньше, чем это.

0
ответ дан Giorgos Myrianthous 27 February 2019 в 18:35
поделиться
Другие вопросы по тегам:

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