
كافكا هو وسيط رسائل موزع يستخدم على نطاق واسع كحافلة للأغراض العامة للبيانات الضخمة. يتيح لك كافكا تنفيذ معالجة في الوقت الفعلي لعدد كبير من الأحداث وإنشاء خط أنابيب دفعة لتسليم السجلات.
لماذا نستخدم كافكا؟ باختصار التوحيد. وإذا كان هناك مزيد من التفاصيل - عشرات الموردين ، تيرابايت من السجلات كل يوم ، وخطوط الأنابيب عبر الإنترنت وغير المتصلة - فمن الصعب للغاية التعامل مع هذا بدون ناقل بيانات واحد عالي الأداء.
من الحديث ، ستتعرف على سبب تحولنا إلى كافكا ، وكيف يتناسب مع خط الأنابيب لدينا. تعرف على كيفية تسليم البيانات مرة واحدة بالضبط. تعرف على كيفية زيادة العبء على كافكا عدة مرات بسبب خطأ مطبعي ، وما تعلمناه من ذلك. اكتشف مقاييس كافكا التي تستحق المراقبة وكيفية اكتشاف ما إذا كان هناك خطأ ما.
فيديو:
تقرير 2017. نسخة كافكا 0.8.2. الآن قد تكون الحقائق مختلفة قليلاً بالفعل. لكن المفاهيم الأساسية ظلت كما هي.
عندما أخبر شخصًا ما أنني أعمل لدى Rambler ، يستجيب الناس بطريقة مماثلة إلى حد ما. الرد الثاني الأكثر شيوعًا هو "أوه ، أنا أعرف Rambler. هذا بحث ". في الواقع ، لم يعد Rambler بحثًا. نحن الآن نتنافس مع Bing على نصف بالمائة من الجمهور وهذا ليس مثيرًا للاهتمام على الإطلاق.
الأمر الأكثر إثارة للاهتمام في هذا الرسم البياني هو أن Google قد تجاوزت أخيرًا Yandex.
, , , Rambler? : « Rambler ?». Rambler .
Rambler Group . , : Rambler, , , , - . 40 000 000 .
, , - . . , Rambler , .

, .
, , ?
- . , , . . , Ford . , - .
- .
- CTR.
- .
- .
- .
, .

, .

worker. , . , , Hadoop.

HDFS Spark Hive. , — key-value Aerospike.

, :
- -, . – ( ), ().
- -, worker . - , , Hadoop. Worker — .
- -, real-time pipeline . - . , HDFS, HDFS , Aerospike. , , — real-time .

? , , Kafka. Kafka – . , RabbitMQ, , . Kafka .
Kafka - HDFS, Gobblin.

Kafka LinkedIn. Map-Reduce , Hadoop Kafka HDFS.
real time.

Spark Streaming. Spark, Hadoop (LLAP). Kafka Spark Streaming , key-value .
, HDFS, . Kafka , Aerospike.
Aerospike .

?
- -, , Kafka exactly once.
- -, , - Kafka 4 , .
- -, , , Kafka .

, Kafka.
Kafka ( – ) ZooKeeper . . Kafka producers, Kafka consumers.

Kafka . topic. .

array list. , , , .

, .

Kafka, , Kafka , .
Kafka . : master-slave. Master Kafka .

Consumers, producers , . . (master ). a .

, — slave- ( ). , .
, , . . , , . Kafka - slave . , .

Kafka 2 : clean unclean. , unclean – - , , clean – , . . — .

slave , , , unclean, , , clean.

— .
, : , . Kafka , , , Kafka , .
, ?

. , - . Kafka.
. Kafka , .

, , . . ( ).

. -1, Kafka . Kafka — Kafka. , Kafka in sync. insync 1, .

insync.replicas = 2, Kafka , .
. , , . , , - overhead , . . Kafka, .
, , . - , Kafka , .

. , , — . insync.replicas = 2, replication factor = 3. insync , , Kafka.

Kafka .
, . - . :
Latest offset – .
Earliest offset – .
Kafka , - , , . earliest offset . , earliest latest offset, , .

consumer - , . . earliest offset offset - . consumer offset latest offset ( ).
, . , , consumer .

, consumer Kafka — .
– . .
? Consumer Kafka. Kafka : . , Kafka .
? : consumer , Kafka , , , . .
. , consumer , Kafka , . Kafka , . . . .

– . : consumer Kafka, , : «Kafka, , ». , at least once .
At least once – , , .
? : , , , consumer Kafka, - kill -9
consumer , , . .
. pipeline at least once .
exactly once. ?

exactly once – Kafka. . , : - , . .
, . – HDFS, .
LinkedIn. Gobblin exactly once HDFS.

, consumer 2 - . production . move (mv) Hadoop .
onsumer .
, , . consumer’, . , . .
— fetch , fetch’. , . exactly once .

:
- Producer .
- Kafka .
- HDFS exactly once. Exactly once – , .

. , .
-, . pipeline – : ( ) Hadoop.
( 1-2 — ), pipeline .
, , , .
pipeline, , . , .
-, . Exactly once, , .

, consumers ( real-time ): Kafka 2-3 .
consumers , : Kafka, Kafka, etc.

: Kafka — . Kafka .
( ), . , pipeline.

, Kafka 4 .
– . – . – .

, ( ) - .
, , — Kafka , - . : Kafka , .

? :
- -, Kafka .
- -, Kafka .
, . , .

, 4 — Kafka .

? - , – . Kafka , . .
, , , , .

— . : 4 , ?
, . :

, , , .
Kafka ? - , Kafka : « , - ». :

. .
, , 3, :

Kafka — , .
, Kafka 0.8.2, , . .

, , , .
. uplink 1 Gb. 125 . 150 . — .
, Kafka RAID 5. ? — . RAID 5 Kafka . , RAID 5 , Kafka . Kafka RAID 10.

:
- , .
- .
- .
- Kafka — .
.

?
, — at least once.
. consumer Kafka — Camus, Gobblin.

history. - . , .
- , Camus . , . - , .
. :

:

Kafka . 4 , , , consumer . Hadoop , , .

. ?
Kafka 5 , 3 . 5 . .
Kafka 18 . 5 . 5 .
, , , , .

.
:
, Kafka , .
, , , :

, 4 - . , . , Kafka leader reelection, .

-, . , , , .

-, . . . , , :
- , in sync
:
? , — . , , . . .

, -, . , , . , Kafka real-time . Kafka.
consumer’:

10 , . Kafka , 10 , : «!».
. , . , .

:
exactly once Kafka, . pipeline. producer', consumer' Kafka. , exactly once . , .
. — , .
من الجدير أيضًا مراقبة العديد من المقاييس الإضافية. الأهم هو وقت استجابة كافكا للطلبات ، سواء بالنسبة للمنتج أو للمستهلك. ولا شك أنه يستحق مراقبة المقاييس الكلاسيكية مثل وحدة المعالجة المركزية والذاكرة وما إلى ذلك.
للأسئلة حول التقرير ، يمكنك الاتصال بـ Artyom Vybornov