Для визуальных учащихся при определении функции без .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 + /
1,2) Потребители запрашивают метаданные у одного из брокеров, который является лидером раздела. Каждый потребитель может обрабатывать все операции ввода-вывода из одного потока, так как клиенты Java спроектированы вокруг цикла обработки событий, который управляется poll()
. Вы также можете создавать многопоточных потребителей, но вам нужно позаботиться о смещении управления. Обратитесь к документации Confluent для более подробной информации о реализации Java-клиентов.
3) Согласно Apache Kafka и Confluent Enterprise Reference Architecture ,
Потребители используют по крайней мере 2 МБ на каждого потребителя и до 64 МБ в случае больших откликов от брокеры (типично для бурного трафика)
blockquote>4) Количество потребителей, о которых вы упомянули, огромно, поэтому вам понадобится очень веская причина, чтобы выбрать 100 000 потребителей. Хотя это зависит от сценария, но даже Netflix должен использовать намного меньше, чем это.