View profile

#138 - Tại sao Apache Kafka lại nhanh?

Revue
 
TechTalk #38 - Languages, Technologies, Architectures - different components that make a high perform
 

Grokking Newsletter

September 13 · Issue #139 · 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.

TechTalk #38 - Languages, Technologies, Architectures - different components that make a high performance system
Để xây một ngôi nhà vững chắc thì cần rất nhiều thứ như nền móng, tường, cột, … Tương tự, để xây một một hệ thống phần mềm vững chắc thì cần sự kết nhiều yếu tố như ngôn ngữ lập trình, công nghệ và kiến trúc phù hợp, …
Trong Grokking TechTalk #38 lần này, các bạn sẽ được giới thiệu quá trình phân tích hiệu năng của một hệ thống và những phương pháp giải quyết sử dụng từ thiết kế kiến trúc hệ thống cho tới kỹ thuật lập trình.
Ngoài ra bạn cũng có cơ hội tìm hiểu thêm về những stack công nghệ mà một công ty có lượng người dùng lớn như LINE Technology Vietnam thường sử dụng.
Các bạn nào đang ở Hà Nội cố gắng dành thời gian để tham dự Techtalk đầu tiên của Grokking được tổ chức offline ở thủ đô nhé.
- Thời gian: 09:00 - 12:00 Thứ 7, 26/09/2020
- Địa điểm: LINE Technology Vietnam - Tầng 20, Tòa nhà TNR, 54A Nguyễn Chí Thanh, quận Đống Đa, Hà Nội

Những bài viết hay
What makes Apache Kafka so Fast? What makes Apache Kafka so Fast?
Function in JavaScript Has More Secrets Than You Think Function in JavaScript Has More Secrets Than You Think
Understanding the Event Loop, Callbacks, Promises, and Async/Await in JavaScript Understanding the Event Loop, Callbacks, Promises, and Async/Await in JavaScript
Góc Distributed System
Hệ thống phân tán (distributed system) là một trong các từ khoá quan trọng trong nhiều năm trở lại đây khi nhu cầu về mặt business đòi hỏi các hệ thống công nghệ ngày càng lớn với nhiều servers cùng vận hành một lúc. Việc phối hợp nhiều servers đặt ra nhiều bài toán mà các kỹ sư cần phải giải quyết, trong đó kinh điển nhất là bài toán đồng thuận (consensus). 
Tại sao việc đồng thuận giữa các server lại là một bài toán khó trong các hệ thống phân tán? Hãy cùng thử khảo sát thông qua một phiên bản trực quan của bài toán này như sau:
Một số vị tướng (process) quyết định lên kế hoạch phối hợp tấn công một vùng đất. Họ hiểu rằng việc tấn công chỉ có thể thành công nếu tất cả cùng tham gia. Vấn đề là họ đóng quân ở nhiều vị trí khác nhau, và phương tiện liên lạc chỉ là truyền miệng. Họ cần phải thống nhất thời điểm cùng đồng loạt tấn công. Các vị tướng ở lân cận nhau có thể giao tiếp với nhau thông qua người truyền tin.
Nếu tất cả người truyền tin đều đáng tin cậy thì toàn bộ vị tướng có thể gửi tin lẫn nhau. Như vậy sau 1 vài round truyền tin, họ có thể thống nhất thời điểm tấn công.
Tuy nhiên, việc truyền tin luôn có thể bị thất bại vì nhiều lý do như: người truyền tin bị đối phương bắt giữ, người truyền tin bị chậm, thông điệp bị sửa đổi, … Vậy làm sao các vị tướng có thể đưa ra được quyết định chính xác?
Đã có nhiều thuật toán được đưa ra để giải quyết bài toán đồng thuận này, trong đó có hai thuật toán được ứng dụng rộng rãi là Paxos và Raft.
Trong hai thuật toán này, Raft được ra đời sau với nhiều điều chỉnh về cách mô tả thuật toán, các quyết định thiết kế (được cho là tối ưu hơn) so với Paxos. Nhưng liệu có phải Raft luôn tốt hơn Paxos không? Điểm khác biệt của hai dòng thuật toán này là gì? Mời các bạn đọc bài báo dưới đây để hiểu thêm về cách so sánh hai thuật toán này (link).
Góc Database
Ở cùng chuyên mục Góc Database của số newsletter kỳ trước, chúng ta đã cùng đọc chính chia sẻ của Eric, tác giả đề xuất định lý CAP. Trong bài báo kỳ trước, Eric đã chia sẻ những suy nghĩ của mình về chính định lý CAP và những ngộ nhận phổ biến xung quanh nó.
Trong kỳ này, mời các bạn cùng tham khảo bài viết khác của tác giả Martin Kleppmann cũng chia sẻ về chủ đề tương tự để có cái nhìn thấu đáo hơn về định lý CAP.
Link bài báo: link.
Code & Tools
Sponsor
We’ve built an engineering and AI powerhouse in bustling southern Vietnam, where we tackle AI’s biggest challenges in the public safety space. With cameras that depict truth, automated reporting and evidence management that will triple the amount of time officers can spend serving their communities, and Smart Weapons that protect life in the moment of conflict, Axon has revolutionized the world of public safety - and by working here, you can contribute every day to the mission to protect life.
Opening Jobs:
Quote
Before software can be reusable it first has to be usable.
Ralph Johnson
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