Kafka The Definitive Guide Book Recommendation

يعتبر Kafka أحد أهم العناصر الأساسية حاليا في الـ Infrastructure لكثير من الشركات الكبيرة وهذا بسبب الإمكانيات التي يوفرها والتي لم تكن موجودة سابقًا، ويكمن مدى قوته في كونه Distributed Event Streaming Platform.
Kafka The Definitive Guide Book Recommendation

في هذه الصفحة

معلومات عامة عن الكتاب

يعتبر Kafka أحد أهم العناصر الأساسية حاليا في الـ Infrastructure لكثير من الشركات الكبيرة وهذا بسبب الإمكانيات التي يوفرها والتي لم تكن موجودة سابقًا، ويكمن مدى قوته في كونه Distributed Event Streaming Platform.

مراجعة لمحتوى الكتاب

يبدأ الكتاب بمقدمة بسيطة ويحكي لماذا Kafka ؟ وما الذي أدى إلى ظهوره ؟ ويتناول فكرة الـ Pub/Sub ومن ثم يحكي تجربة LinkedIn في كونهم لأمس الحاجة إلى طريقة فعالة يمكنهم من خلالها التعامل مع البيانات المتدفقة بشكل مستمر أو ما يعرف بالـ Continuous Data Flow حتى يستغلوا هذا في تحقيق وتجميع البيانات اللازمة لعمل صيانة ومتابعة للنظم الخاصة بهم وهو ما يعرف بالـ Collecting Metrics for Monitoring بالإضافة إلى تتبع أنشطة المستخدمين أي Tracking User Activities، ويعرض الكتاب المشاكل التي واجههوا في تحقيق ذلك من خلال Frameworks في وقتها كالـ ActiveMQ كـ Messaging System ، فكان من ضمن تلك المشاكل وأكبرها هو الـ Scalability وغيره من المشاكل.

ومن هنا بدأت الحكاية، بدأ تيم في LinkedIn ببناء الـ Framework حتى يلبي احتياجاتهم.

الفصل الثاني يتناول كيفية عمل الـ Installation الخاصة بالـ Framework وعرض العديد من الطرق المختلفة لعمل ذلك كالـ Installing as a Standalone أو كـ Cluster، وما هي أهم النقاط التي يجب مراعاتها أثناء عملية الـ Installing في الـ Development أو الـ Production Environment.

الفصل الثالث تناول شرح كيفية الكتابة في Kafka من خلال الـ Producers وما هي الإعدادات المطلوب التركيز عليها والاهتمام بها والاختيارات المتاحة والمتعددة أو ما يعرف بالـ Trade-offs التي ستواجهها لتحسين الأداء كالـ Throughput.

بما أن الفصل الثالث تناول الـ Producers فبلا شك سيكون الفصل الرابع مخصصًا لتناول الـ Consumers وكذلك الإعدادات التي يجب توافرها والاهتمام بها وما الفرق بين الـ Consumer و الـ Consumer Group وما هي الخيارات المتاحة لك والتي يجب مراعاتها حتى تتناسب وتتلائم مع الـ Producers ، حتى لا يتسبب ذلك في بعض المشاكل كالـ Back Pressure وهي من المشاكل الشهيرة التي تنتج من بطء سرعة الـ Consumers عن الـ Producers، فتناول الكتاب بعض هذه المشاكل وكيفية التعامل معها.

ومن ثم يتناول الكتاب Kafka من منظور مختلف كـ Architecture وما هي الأجزاء التي يتكون منها كالـ Brokers أو الـ ZooKeepers والذي يلعب دور هام جدًا في عملية الـ Leader Election Within Partitions ، وما هي مميزات Kafka عن غيره من الاختيارات الأخرى، وما هي الاعدادات التي تلائم احتياجاتك.

في الفصل التالي يتناول الكتاب كيفية تحقيق Kafka للـ Reliability وأنه يمكنك أن تثق في كونه Reliable System وهذا تم اثباته من خلال عدة عوامل أهمها هو اعتماد Kafka على الـ Commit Log وأنه Durable فهو يحافظ على البيانات لفترة زمنية معينة تحددها من خلال الاعدادات ويمكنك تحديد ذلك إما بوقت أو مساحة محددة. كما أنه يعد Reliable من خلال الـ Partitions وعملية الـ Replication التي تتم Across Brokers وكيفية استغلال هذا الاختيار لتحديد الـ Trade-Offs بين الـ Durability والـ Throughput.

في الفصل التالي يتناول الكتاب كيف أنه يتم الاعتماد على Kafka في الشركات وكيف أنه يتم استخدامه بشكل كبير في الـ Data Pipelines وأنه يتم تحقيق العديد من المزايا عن طريق وجود Connectors التي يوفرها والتي تساعدك على الاتصال بأنواع مختلفة من قواعد البيانات وتهيئ لك بناء Pipeline فعال يضمن لك الـ Availability والـ Reliability والـ Scalability والـ Throughput الممتاز.

ثم في الفصل الثامن يتناول الكتاب موضوع الـ Cross Cluster Data Mirroring وكيفية عمل Kafka وضبطه مع مختلف الـ Data Centres وكيف للبيانات أن تكون Consistent مع بعضها البعض وما المشاكل التي من الممكن أن تقع فيها وكيفية التغلب عليها عن طريق اختيار ما يناسبك.

ثم يتناول الكتاب في جزئه قبل الآخير جزء الـ Administration وكيفية عمل Monitor لـ Kafka وما هي اهم الخصائص التي يجب التركيز عليها كالـ In-Sync Replicas لان من خلال تلك الخصائص يمكنك معرفة أو توقع ما الذي يمكنه أن يحدث إذا حدثت مشكلة ما للـ Replica Leader.

وآخيرًا يتناول الكتاب Kafka as a Stream Processing وأهميته في عملية معالجة تدفق البيانات وكيف يساعد هذا في بناء Real-Time Analysis والعديد من الأمثلة التي تناولها الكتاب من خلال الـ Filtering Single Stream أو Joining Multiple Streams وهذا يفيد وبلا شك في عملية تتبع أنشطة المستخدم.

ومن أهم الأمثلة التي تناول الكتاب أيضًا: Fraud Detection – Customer Service – Recommendation System – Gathering Metrics – Event Sourcing – Change Data Capture والعديد والعديد.

المميزات والانتقادات

المميزات:

١- تركيز الكتاب وكونه مخصص لهذا الموضوع.

٢- طرح العديد من الأفكار والأمثلة الواقعية للربط وتوصيل المعلومة.

٣- تناول العديد من الخصائص والاعدادات التي تلعب دور مهمًأ في عمله.

٤- ترتيب وتنظيم الكتاب وتناوله الموضوع من البداية حتى النهاية بشكل منظم.

الانتقادات:
١- وجود الكثير من الإعدادات التقنية في الكتاب Configuration والتي جعلتني أشعر بقراءتي لـ Documentation Framework والتي كنت أفضل تركها خارج الكتاب.

في الختام

في الختام أنصح بقراءة هذا الكتاب لمن يتعاملون مع Kafka بشكل كبير ويودون معرفة المزيد عنه وعن كيفية الاستفادة منه إلى أقصى درجة وما هي العوامل التي يجب التركيز عليها والاهتمام بها وخاصة الإصدار الحديث منه لأن وبلا شك ثمة هناك تغييرات قد طرأت على الـ Architecture عبر تلك السنين والتي ستؤدي إلى تغيير في بعض من محتويات الكتاب.

اشترك الآن بنشرة اقرأ-تِك الإخبارية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!
رائع! تحقق من بريدك الإلكتروني واضغط على الرابط لإكمال تسجيل الدخول.
حدث خطأ! من فضلك قم بادخال بريد إلكتروني صحيح!