View profile

#155 - uReplicator: Uber Engineering’s Robust Apache Kafka Replicator

Revue
 
 

Grokking Newsletter

January 11 · Issue #156 · View online

Tuyển tập những bài viết hay cùng sự kiện bổ ích dành cho kĩ sư phần mềm tại Việt Nam.


Grokking Newsletter là email newsletter hàng tuần từ Grokking, chia sẻ cho các bạn những bài viết, phân tích kỹ thuật về Software Engineering hay kèm theo bình luận từ team Grokking. Trong số này: quy trình khai thác dữ liệu trong doanh nghiệp, bài toán Thundering Herd Problem, và Paxos vs Raft (distributed systems).
Nếu bạn đọc thấy hay, mong các bạn ủng hộ Grokking bằng cách forward email cho những bạn bè làm software engineering!

Những bài viết hay
Tìm hiểu về quy trình khai thác dữ liệu trong doanh nghiệp Tìm hiểu về quy trình khai thác dữ liệu trong doanh nghiệp
Thundering Herds & Promises. Story of a Service Thundering Herds & Promises. Story of a Service
uReplicator: Uber Engineering’s Robust Apache Kafka Replicator uReplicator: Uber Engineering’s Robust Apache Kafka Replicator
Góc Distributed System
Paxos vs Raft: Have we reached consensus on distributed consensus?
Nghiên cứu về đồng thuận (consensus) là trọng tâm của lĩnh vực hệ thống phân tán. Thuật toán đồng thuận Paxos xuất bản năm 1989 trở thành thuật toán chính trong nhiều hệ thống (Google Spanner; Google Chubby; Apache ZooKeeper). Tuy nhiên, Paxos nổi tiếng vì sự khó hiểu ngay cả trong cộng đồng học thuật. Paper về thuật toán Raft xuất bản năm 2012 là một bước đột phá bởi tính dễ hiểu, và tập trung hơn về khía cạnh engineering trong việc trình bày hướng giải quyết. Các hệ thống phân tán lớn ra đời sau này (etcd; CockroachDB; TiDB; …) sử dụng Raft để giải quyết bài toán đồng thuận hoặc replicate data giữa các máy tính trong mạng. Tuy nhiên nếu ta nhìn lại thuật toán Paxos (cụ thể hơn là multi-decree Paxos) dưới lăng kính của Raft, ta sẽ thấy hai thuật toán đều có nhiều đặc điểm chung: sử dụng State Machine Replication; single leader; … Cụ thể hơn, khác biệt lớn nhất là điều kiện leader election:
- Raft: điều kiện leader rất chặt, buộc các node muốn trở thành leader phải chứa thông tin về log đầy đủ nhất. Do vậy, sau khi trở thành leader, node đấy chỉ cần replicate log ra toàn bộ các node follower trong mạng.
- Multi-decree Paxos: điều kiện để trở thành leader lỏng hơn, không yêu cầu một node muốn trở thành leader phải chứa thông tin đầy đủ nhất về log. Do vậy, sau khi một node trở thành leader, thuật toán phải giải quyết việc đồng bộ log giữa leader và follower, để hệ thống đạt được trạng thái consistency. Bài báo sau đây (xuất bản năm 2020) trình bày cách đồng nhất các thuật ngữ giữa 2 thuật toán Paxos và Raft. Từ đó, bài báo phân tích kĩ các điểm giống và khác giữa 2 thuật toán, đồng thời cũng đưa ra lưu đồ để implement multi-decree Paxos dựa trên Raft. 
Code & Tools
This Week Sponsors
POPS is a creative, innovative & hyper-growth working environment where storytelling meets technology.
POPS is the leading digital entertainment company in Southeast Asia. With over 12 years in entertainment, we provide thousands of exclusive, high-quality, carefully curated local and international contents and bring a unique entertainment experience through POPS Original series, concerts, movies, comics, esports and more.
We are on a journey to find talents who are passionate about technology and love to develop POPS APP_the digital entertainment product with the latest technologies such as: OTT, Video On Demand, Microservices, etc. to give end users in the region great experiences with an all-inclusive digital entertainment platform. 
Góc Tuyển Dụng
Quotes
Sometimes the problem is to discover what the problem is.
- Gordon Glegg
Did you enjoy this issue?
If you don't want these updates anymore, please unsubscribe here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue
Charmington La Pointe, 181 Cao Thang, Dist 10, Ho Chi Minh city, Viet Nam