Internet application has experienced a technological development process from early single architecture to vertical architecture and then to distributed architecture. As the business system continues to develop and change, and the user volume and performance requirements are far beyond those of traditional industries, more and more companies have entered the ranks of distributed and cloud native architecture, and distributed architecture has become the mainstream trend.

However, distributed architecture system is faced with some inherent problems, such as complex deployment, long response time, complex operation and maintenance, among which the most fundamental problem is data sharing between multiple nodes. Faced with these problems, you can choose to implement a reliable shared storage to synchronize information yourself, or rely on a reliable shared storage service.

As for a reliable shared storage service, ETCD is an excellent alternative. Etcd is a distributed storage middleware written in the Go language. It solves the problem of data consistency in distributed systems by processing and ensuring distributed consistency through raft consistency algorithm.

In addition, since ETCD involves data consistency, multi-version concurrency control, Watch monitoring, disk I/O reading and writing, in-depth study of ETCD can help us learn the underlying principles from open source projects and further improve the ability of distributed architecture design.

In addition to applications in distributed architecture, ETCD is also a very popular cloud native storage component. It joined CNCF (Cloud Native Computing Foundation) as an incubation project at the end of 2018 and successfully “graduated” in November 2020.

Etcd, as an important basic component in the cloud native architecture, ensures the availability and correctness of calls between microservices through ETCD. Many other well-known projects, including Kubernetes, CoreDNS, and TiKV, also rely on ETCD to implement reliable distributed data storage, and its success is evident.

To grasp the building blocks of cloud native storage, I have to recommend my recently published etCD Working Notes: Architecture Analysis, Optimization, and Best Practices book on etCD principles and practices. I compiled it by summarizing my years of etCD related work experience.

If you don’t know how distributed systems work, you don’t know how distributed components work. This book is a great way to fill in the gaps in distributed system design and expand your thinking.

What is this book about?

By learning the tao of distributed components through ETCD, mastering the tao of learning will have long-term value in subsequent self-improvement. No matter in the future interview or development, cut to the key points of distributed system development, and combine the principle and application, can fully reflect the core competitiveness of the individual.

This book focuses on ETCD components, from the basic knowledge to the underlying principles of a comprehensive and in-depth introduction, and finally combined with practical cases. It mainly consists of the following three modules.

(1) Basic concepts and Operations

Firstly, we discuss the background of cloud native architecture and how to ensure consistency in distributed system. Then it introduces what kind of components etCD is, etCd-related features, application scenarios, deployment methods, including the use of client command line tools and ETCD communication encryption TLS. A preliminary understanding of these basic uses of ETCD and the core API will lay a foundation for the following study.

(2) Implementation principles and key technologies of ETCD

This section introduces the working mode and internal implementation principle of ETCD, focuses on ETCD-RAFT module of ETCD, WAL log and snapshot backup, multi-version control MVCC, Backend storage, transaction implementation, Watch and Lease mechanism, and finally reviews the startup process of ETCD Server. And how to handle client requests. Through learning this module, we can have a deep understanding of the working mechanism and overall architecture of ETCD from the principle level, and at the same time, it will be helpful for the subsequent secondary development or troubleshooting problems.

(3) Practical cases

With the knowledge of ETCD, you will learn the specific application of ETCD Clientv3 in the application practice section, including how to implement distributed lock application based on ETCD, and how to integrate ETCD into microservices as service registration and discovery center. Finally, we will analyze how to complete container scheduling based on ETCD in Kubernetes.

The author of this book

Zhu Rongxin, a technical expert on micro services, has worked for foreign companies and large Internet companies. Years of in-depth practical experience in cloud native and large distributed systems. Published books “Go Language Micro-service High-Concurrency Practice”, online column course “ETCD Principle and Practice”.

Feng Liu, Ph.D., working in Nanjing University, has been engaged in the research of distributed system and computer network for a long time. He has presided over and participated in a number of national vertical and horizontal projects, and conducted a number of production and research cooperation related to distributed system in Ali Cloud and other companies.

welfare

Now that you’ve seen it, in return for interested readers, I’m going to send you three copies of the ETCD Working Notes: Architecture Analysis, Optimization, and Best Practices at the end of this article.

Here are the rules of sending books, follow the public account “AOho Qiusuo”, you can leave a message about etCD or some stories related to the server, I will rank the top 3 students from the number of likes. The event will last until 8 PM on October 25.

Those who want to buy the book directly can go to JD.com for a discount of 8.7 percent.