In the “Kafka source code intensive” this small volume, JINGdong group architect Sean Sean, will take you to a Kafka producer, consumer, server source knowledge point full coverage!
🎙️ Author introduction
Sean Sean is an architect at JD Group. 10 years + Internet front-line development experience. Successively worked for meituan, Qunar, JINGdong and other large factories. Engaged in infrastructure middleware development for a long time, especially with deep understanding and practice of message queues. Participated in the work of self-developed message queue middleware and led the implementation of Raft protocol, message trajectory, message queue consumption model evolution and other technical points in self-developed message queue middleware. At the same time, classic message queues such as Kafka and RocketMQ are also understood at the source level.
🔥 Internet giants love Kafka
Kafka started out as a message queue developed by LinkedIn. With the contribution of Kafka code to the Apache Software Foundation, Kafka has successfully incubated as an Apache top-level project. More and more companies and individuals around the world are using Kafka. So the range of Kafka use is pretty universal.
At the same time, it is worth noting that Kafka is No.1 in the field of big data. It has complete support for Spark, Flink and other big data flow computing systems, and Kafka Connect can provide extended and reliable data transmission tools between other systems.
In short, it is precisely because of Kafka’s high throughput, high availability characteristics, as well as a good ecological environment and community support, Kafka has a very strong vitality, for big data also has a good support, it is not surprising that the Internet companies love to use it. On the other hand, it’s important that you learn Kafka well, which will help you become more competitive in the workplace.
🤔️ why learn Kafka source code?
Kafka has become the first choice of message queue technology due to its high reliability, high throughput, high availability and scalability. More and more developers are using Kafka, and the need to learn source code is growing for five reasons:
- Understand the underlying principle of Kafka, so as to understand the implementation mechanism of Kafka high performance;
- Quickly analyze the problems on the positioning line, develop targeted tuning schemes to improve coding skills;
- Many of Kafka’s great design concepts and features are understated in the official documentation;
- Many Internet companies require “at least one open source framework” for senior technical positions;
- Join the Kafka open source community and become a code contributor — once your code is adopted by the community, Kafka users around the world will use your code.
However, when most people read the source code, they still encounter many problems, such as:
- So much source code, do not know what to focus on mastering the content;
- Read source code when the lack of scientific methods, countless times from the entry to give up;
- The knowledge is not systematic enough, and it is difficult to have good performance when meeting the basic principles and other common test questions, let alone enter the big factory;
- …
Are these pain points familiar? In fact, reading source code is not difficult, the key is to master the scientific method – with the most efficient way, read the most core source code. So, this time I will take you to understand the underlying principles of Kafka, master the efficient reading of the source code, quickly locate online problems and develop tuning solutions.
There are three modules in this volume: producer, consumer and server. While introducing these three modules, I will also explain Kafka in network communication, storage model, high-performance architecture and source design.
🏆 What can you learn from this booklet?
Slave producer module
You can learn how Kafka designs client-side network communication modules using Java NIO, and how producers use caching, asynchrony, and other designs to ensure high performance and reliability of messages in production.From the consumer module
, you can learn how consumers get node routing information and how consumer groups rebalance consumption.From the server module
You can learn how servers manage and store logs, and how partitions and replicas are designed and implemented.
For the whole knowledge system, you can refer to the following knowledge map:
Therefore, no matter you are ordinary business engineer, operation and maintenance personnel or infrastructure middleware engineer, or students who are committed to big data and mass data processing scenarios, you can join us to learn this small volume. We study the excellent design concept of Kafka together, master the efficient reading method of source code, improve the ability of architecture and coding skills, and then enhance the competitiveness of the workplace.
🛒 How can I purchase this booklet?
Early bird discount limited time 50% off, only $19.95, 👇👇 click the image below or scan the poster qr code 👇👇, join the learning ~