#88 - Thiết kế Write-Ahead Log dành cho hệ thống phân tán
Để giúp cải thiện chất lượng nội dung của newsletter, mong bạn dành ít thời gian phản hồi cũng như đóng góp ý tưởng giúp team thông qua link khảo sát hàng tuần ở đây nhé: tại đây.
Những bài viết hay
Chia sẻ về hệ thống thanh toán của Uber — blog.pragmaticengineer.com
Gergely Orosz gia nhập Uber với vị trí ban đầu là mobile software engineer. Sau đó anh đảm nhiệm luôn vai trò engineer management. Nhiệm vụ của anh ấy là viết lại hệ thống thanh toán của Uber để handle hàng ngàn request mỗi giây mà vẫn đảm bảo tính năng thanh toán hoạt động chính xác cho dù một phần hệ thống gặp sự cố. Bài viết sau sẽ chia sẻ những kiến thức và kinh nghiệm của anh ấy trong quá trình xây dựng hệ thống thanh toán ở Uber.
Kiến trúc Micro Frontends của BuzzFeed — tech.buzzfeed.com
Hiện nay kiến trúc microservices đã phổ biến trong ngành xây dựng phần mềm với mục đích giải quyết những bài toán của các hệ thống có tính phức tạp cao. Buzzfeed đã áp dụng micro-frontends (microservice cho front-end) để chia tách các thành phần trong hệ thống front-end.
Vì sao không thể loại bỏ tính chất Partition tolerance khi thiết kế hệ thống phân tán — codahale.com
Tiến sĩ Eric Brewer phát biểu trong định lý CAP nổi tiếng của mình rằng: Trong 1 hệ thống phân tán, chúng ta chỉ có thể lựa chọn 2 trong số 3 tính chất: Consistency, Availability và Partition tolerance.
Tuy nhiên bài viết sau đưa ra ý kiến cho rằng Partition tolerance là không thể loại bỏ được. Do đó cái chúng ta phải lựa chọn chính là giữa Consistency và Availability.
Waltz - Write-Ahead Log dành cho hệ thống phân tán — wecode.wepay.com
Khi xây dựng một hệ thống phân tán xử lý những phiên giao dịch tiền cho khách hàng của Wepay, vấn đề về serializable consistency là một yếu tố bắt buộc phải giải quyết. Nhóm phát triển Waltz đã chọn cách ghi nhận sự thay đổi data vào Waltz trước khi cập nhật vào database, để Waltz trở thành single source of truth, từ đó xử lý vấn đề đồng bộ data giữa những database. Kết hợp với cơ chế Optimistic Locking, Waltz đã giải quyết vấn đề race condition và cả vấn đề duplicate message.
Code & Tools
Lệnh COUNT(*) và COUNT(1) liệu có khác nhau ? — blog.jooq.org
Cùng tìm hiểu lệnh COUNT(*) và COUNT(1) được thực thi như thế nào trong những RDBMS hiện nay khác nhau thế nào và hiệu quả về mặt thời gian xử lý như thế nào nhé.
Tin tức khác
React v16.9.0 - Roadmap Update — reactjs.org
React v16.9 vừa được release vào ngày 08/08/2019. Những thay đổi trong phiên bản này gồm:
New Feature
Async act(): Ở phiên bản mới, act đã hỗ trợ phương thức bất đồng bộ (asynchronous functions)
React.Profiler - tính năng đo lường hiệu suất của React với tên gọi React.Profiler
Deprecations
Unsafe Lifecycle: các lifecycle bị deprecated vẫn sẽ hoạt động bình thường những sẽ cảnh báo những phương thức này đã được đổi tên.
Sẽ hiện cảnh báo nếu bạn dùng Javascript: URLs.
Factory component cũng được đưa vào danh sách deprecations ở phiên bản mới này.
Ngoài ra, React cung cấp một số cải tiến đáng chú ý cũng như Roadmap mới.
Sự kiện công nghệ
TechTalk #34: ZaloPay Merchant Platform on K8S on-premise — www.facebook.com
Đến với Grokking TechTalk #34, các bạn sẽ được chia sẻ về những kinh nghiệm, những vấn đề cũng như "đau thương" khi triển khai microservices cho hệ thống ZaloPay Merchant Platform sử dụng Kubernetes on-premise.
Diễn giả: Anh Châu Nguyễn Nhật Thanh - Head of MEP @ ZaloPay
Thời gian: 09:00 - 11:30 Thứ 7, 28/09/2019
Link đăng ký: http://bit.ly/grokking-techtalk-34-registration
Địa điểm: VNG Corporation, Lầu 6, Flemington Tower, 182 Lê Đại Hành, Phường 15, Quận 11, Hồ Chí Minh
This week sponsor's
Được thành lập từ năm 2004, VNG Corporation là một trong những công ty Internet Công Nghệ hàng đầu tại Việt Nam, được vinh danh là start-up kỳ lân đầu tiên của Việt Nam tính đến thời điểm hiện tại. VNG nuôi dưỡng hệ sinh thái dịch vụ đa dạng như trò chơi trực tuyến, nền tảng kết nối, tài chính, thanh toán, dịch vụ đám mây… Với sứ mệnh “thay đổi Internet để thay đổi cuộc sống người Việt”, VNG không ngừng cải tiến và hoàn thiện hơn các sản phẩm giúp người dùng có những trải nghiệm ấn tượng và tốt đẹp.
VNG hiện có 3 văn phòng tại Việt Nam (Hồ Chí Minh, Hà Nội, Đà Nẵng) và 3 văn phòng tại các nước Thái Lan, Singapore, Myanmar.
Góc tuyển dụng
Game Development Fresher 2019 — career.vng.com.vn
VNG Fresher là chương trình Ðào Tạo & Tuyển Dụng do VNG tổ chức dành cho sinh viên năm cuối tại các trường Ðại học tại Việt Nam.
Quote
It is not the language that makes programs appear simple. It is the programmer that make the language appear simple!”
Uncle Bob