#156 - How Postman Engineering handles a million concurrent connections
Những bài viết hay
How Postman Engineering handles a million concurrent connections
Tại Postman, các kỹ sư đã xây dựng Bifrost, một websocket gateway cho phép client có thể kết nối ngay lập tức tới Postman service.
Bifrost bao gồm hai thành phần chính:
Public gateway: Gateway sử dụng Fastify web framework và Amazon AWS ElastiCache cho Redis thành một trung tâm để quản lý tất cả kết nối websocket.
Private API: API cũng sử dụng Fastify như một web framework để điều tiết traffic đến các serivce nội bộ của Postman
Hai thành phần này tạo nên sự bền vững cũng như tăng khả năng scale của hệ thống.
Gateway đóng vai trò là điểm đầu mối cho tất cả các kết nối websocket. Các kỹ sư Postman cũng muốn kiểm soát hoàn toàn cách xử lý websockets, chẳng hạn như nếu họ muốn khai thác giao thức bắt tay (handshake). Họ đã sử dụng Amazon ElastiCache cho Redis, cho phép họ truy vấn bộ nhớ cache của Redis bằng cách sử dụng các node đọc và ghi. Chia lưu lượng thành hai node cho các hoạt động đọc và ghi cho phép nhóm tối ưu hóa hiệu suất
Lessons learned in incident management
Tại Dropbox, quản lý sự cố là yếu tố trung tâm trong nỗ lực đảm bảo độ tin cậy của hệ thống. Mặc dù sử dụng các kỹ thuật chủ động như kỹ thuật Chaos, nhưng cách Dropbox ứng phó với các sự cố sẽ tạo ra ảnh hưởng đáng kể đến trải nghiệm của người dùng. Mỗi phút đều có giá trị đối với bất kỳ người dùng trong thời gian trang web có thể xảy ra sự cố hoặc sự cố về sản phẩm.
Bài đăng này đi sâu hơn vào một số bài học mà Dropbox đã học được trong quản lý sự cố. Bạn có thể sẽ không tìm thấy tất cả những điều này trong sách giáo khoa và bạn cũng không nên xem những cải tiến này như một phương pháp tiếp cận phù hợp với tất cả mọi công ty. (Tính hữu ích của chúng sẽ phụ thuộc vào nền tảng công nghệ, quy mô tổ chức và các yếu tố khác.) Thay vào đó, chúng tôi hy vọng đây là một nghiên cứu điển hình về cách bạn có thể có cái nhìn về hệ thống và các phản ứng khi sự cố xảy ra và phát triển nó để đáp ứng nhu cầu của người dùng.
Napkin Problem 14: Using checksums to verify syncing 100M database records
Một vấn đề phổ biến mà bạn gần như chắc chắn phải đối mặt là đồng bộ hóa hai kho dữ liệu.
Việc xây dựng một cơ chế đồng bộ hoàn toàn đáng tin cậy là rất khó, nhưng có lẽ chúng ta có thể xây dựng một cơ chế tổng kiểm tra để kiểm tra xem hai kho dữ liệu có bằng nhau trong vài giây không?
Trong bài viết này, tác giả xem xét việc triển khai một giải pháp để kiểm tra xem A và B có đồng bộ hóa cho 100 triệu bản ghi trong vài giây hay không. Ý tưởng chính là tổng kiểm tra một cột updated_at được lập chỉ mục và sử dụng tìm kiếm nhị phân để xem chi tiết các bản ghi không khớp. Tất cả những điều này sẽ được giải thích rất chi tiết trong bài viết.
Góc Distributed System
Khi phải làm việc với dữ liệu có thể được ghi bởi nhiều thành phần, locking là một trong những giải pháp đơn giản giúp ta đảm bảo được tính nhất quán của dữ liệu. Hôm nay ta cùng tìm hiểu về lease locking và fencing locking.
Lease locking định nghĩa một giao thức giao tiếp giữa các máy tính, nhằm đảm bảo tại một thời điểm chỉ có duy nhất một thành phần giữ khoá được phép cập nhật dữ liệu. Lease locking dựa trên cơ chế cho thuê có thời hạn nhằm đảm bảo khoá không bị chiếm dụng vĩnh viễn.
Mặc dù việc implement lease locking khá đơn giản, tuy nhiên với trường hợp ứng dụng bị tạm dừng (long stop-the-world garbage collection) hay vấn đề trễ gói trong mạng… khoá có thể bị sử dụng mặc dù đã hết hạn. Fencing lock là một cải tiến của lease locking, được đề xuất bởi Martin Kleppmann, nhằm giải quyết vấn đề trên.
Chi tiết mời bạn tham khảo:
https://aws.amazon.com/blogs/database/building-distributed-locks-with-the-dynamodb-lock-client/
https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html
Code & Tools
Wazuh is a free and open source platform used for threat prevention, detection, and response. It is capable of protecting workloads across on-premises, virtualized, containerized, and cloud-based environments..
GitHub - Noovolari/leapp: — github.com
Leapp is the tool to access your cloud; It securely stores your access information and generates temporary credential sets to access your cloud ecosystem from your local machine.
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
Visit https://popsww.com/en/careers for current job openings.