Kafka-Backed Elixir at Scale - Anton Borisov, Piotr Rybarczyk | ElixirConf EU 2026 Comments welcome! View the code-sync and elixirconf-eu tags for more Code Sync and ElixirConf EU talks!
Nguồn: https://forum.elixirforum.com/t/kafka-backed-elixir-at-scale-anton-borisov-piotr-rybarczyk-elixirconf-eu/76745. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Data-driven architecture tập trung vào nguồn dữ liệu chung (database, data warehouse) mà các service truy vấn, trong khi event-driven dựa trên message broadcast khi có sự kiện, được các service độc lập tiêu thụ. Data-driven coupling chặt hơn trong khi event-driven cho phép loose coupling nhưng tăng độ phức tạp hệ thống khi số lượng events lớn. Data-driven phù hợp cho analytics, ML và ứng dụng đơn giản, còn event-driven tối ưu cho features thời gian thực, microservices và scaling không đồng đều. Hai phương pháp này thực chất bổ trợ chứ không cạnh tranh nhau - câu hỏi quyết định nên bắt đầu đơn giản và chỉ thêm events khi thực sự cần thiết.
Bài viết này giúp lập trình viên lựa chọn kiến trúc phù hợp giữa data-driven và event-driven dựa trên nhu cầu cụ thể của dự án.
Đang tải bình luận…
SmolBox là một công nghệ giúp khôi phục trạng thái guest đã chuẩn bị để thực thi các lần chạy độc lập trong VM (Virtual Machine) mới. Nguyên nhân kỹ thuật đằng sau là việc tối ưu hóa chi phí tài nguyên bằng cách tái sử dụng trạng thái đã sẵn sàng, thay vì tạo VM mới từ đầu. Hệ quả là nó giúp giảm đáng kể thời gian khởi động VM, từ vài phút xuống còn vài giây như được chứng minh trong các benchmark. Điều đáng học là SmolBox sử dụng checkpoint để lưu trạng thái, nhưng không phải tất cả checkpoint đều hiệu quả - cần chọn lọc dựa trên nhu cầu cụ thể của workload. Đối với lập trình viên đang cân nhắc, bài viết cung cấp dataset chi tiết về loại checkpoint nào nên sử dụng và khi nào thì một prepared image là đủ.
Tìm hiểu cách tối ưu hóa việc triển khai ứng dụng qua SmolBox với checkpoint và VM throwaway.
So sánh chi tiết giữa monolithic và microservices vượt qua lý thuyết, bàn về sự phức tạp …
Protox 2.1.0 cải thiện hiệu năng đáng kể với giảm ~40% bộ nhớ và ~37% số lần reduction khi mã hóa, cùng ~30% CPU/bộ nhớ khi giải mã. Phiên bản này nâng cấp generator version lên 2, yêu cầu phải regen file cho các phiên bản cũ hơn hoặc compilation sẽ thất bại. Error handling được cải tiến với nhiều invalid field values hơn ném ra EncodingError/DecodingError, và giải mã giờ xử lý wire-type mismatches như unknown fields thay vì misparse. Phiên bản 2.0.0 đã loại bỏ JSON support, bỏ các generated functions thay bằng schema/0, và thay đổi encoding functions để trả về size cùng iodata.
Lập trình viên nên đọc bài này để cập nhật về những thay đổi quan trọng về hiệu năng và API trong Protox v2.1.0.
Bối cảnh là những nhà tư tưởng lớn khi phân tích các vấn đề nhận thấy các patterns giữa việc gửi file word processor và file spreadsheet. Nguyên nhân kỹ thuật là họ nhận thấy pattern chung ở mức độ trừu tượng (abstraction) đầu tiên: việc gửi file. Hệ quả là những "architecture astronauts" này có xu hướng đi xa hơn nữa trong việc xây dựng các giải pháp phức tạp mà không giải quyết được nhu cầu thực tế. Điều đáng học là việc nhận diện các patterns hữu ích cần đi kèm với sự hiểu biết thực tế về vấn đề đang giải quyết, để tránh tạo ra các giải pháp phức tạp không cần thiết.
Bài viết này giúp lập trình viên nhận diện và phòng tránh những thiết kế phần mềm phức tạp không cần thiết từ các "kiến trúc sư du hành" trong công nghệ.
American Express sử dụng kiến trúc cell-based để xử lý giao dịch thanh toán quy mô lớn. Kiến trúc này chia hệ thống thành các cell độc lập, mỗi cell chứa đầy đủ các dịch vụ cần thiết để xử lý một giao dịch. Khi một cell gặp sự cố, các cell khác vẫn có thể tiếp tục hoạt động, đảm bảo hệ thống không bị sập hoàn toàn. Mô hình này giúp American Express đạt độ sẵn sàng cao, với thời gian downtime chỉ vài giây mỗi năm và xử lý hàng triệu giao dịch mỗi ngày. Các lập trình viên học được cách thiết kế hệ thống phân tán có khả năng chịu lỗi bằng cách cô lập sự cố trong một phạm vi nhỏ.
Bài viết này giúp lập trình viên hiểu cách xây dựng hệ thống xử lý giao dịch đáng tin cậy ngay cả khi gặp sự cố.
Bài viết chỉ ra hiện tượng coi số lượng dịch vụ microservices như dấu hiệu của kinh nghiệm cao trong ngành phần mềm. Tac giả lấy ví dụ về một dự án có tới 37 dịch vụ độc lập, mỗi dịch vụ được triển khai trong container và kết nối qua API REST/gRPC. Nguyên nhân kỹ thuật là xu hướng tách hệ thống quá sớm mà không xác định rõ ranh giới nghiệp vụ, dẫn đến sự dư thừa trong quản lý cấu hình, giám sát và truy vết lỗi. Hệ quả là tăngภาระ vận hành, độ trễ giao tiếp giữa dịch vụ và khó duy trì tính nhất quán dữ liệu, khiến đội ngũ tiêu tốn nhiều thời gian cho DevOps thay vì phát triển tính năng. Bài học là trước khi quyết định chuyển sang microservices, cần đánh giá độ phức tạp miền vấn đề, cân nhắc sử dụng monolith mô-đun hoặc các dịch vụ có kích thước vừa phải, và chỉ mở rộng khi có bằng chứng thực tế về nhu cầu mở rộng và đội ngũ có khả năng vận hành.
Bài viết này giúp lập trình viên hiểu rằng kiến trúc microservices không phải là thước đo trình độ kỹ năng hay kinh nghiệm senior thực sự.
Ampbase đã triển khai control plane hoàn toàn trên Tigris object storage mà không sử dụng database truyền thống dưới lớp. Họ đã tự xây dựng bốn nguyên tố cơ bản của database (CRUD operations, indexing, transactions và consistency) trực tiếp trên object storage. Vấn đề phát sinh khi xử lý transaction và consistency, đặc biệt là khi dữ liệu lớn, dẫn đến performance không ổn định. Bài viết cung cấp bài giá trị thực tế về giới hạn của object storage khi làm database, hữu ích cho ai đang cân nhắc kiến trúc serverless.
Bài này giúp bạn hiểu cách xây dựng hệ thống control plane hoàn toàn bằng object storage mà không cần database truyền thống.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000+ bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thử