Bài viết của Nicholas Adams thông báo về việc loại bỏ Riak Search và chia sẻ kế hoạch thay thế. Sự thay đổi này nhằm cải thiện hiệu suất và khả năng mở rộng cho hệ thống.
Why read it: Lập trình viên nên đọc bài này để hiểu cách chuyển đổi từ giải pháp tìm kiếm truyền thống sang các giải pháp hiện đại hơn trong hệ thống phân tán, giúp tối ưu hóa hiệu suất và khả năng mở rộng cho ứng dụng của mình.
Answer 3 short questions to earn reward points for this article. Only do it if you want the points.
3 questions · under a minute · optional
Source: https://erlangforums.com/t/why-we-killed-riak-search-and-what-were-doing-instead-nicholas-adams-code-beam-europe/5857. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
American Express sử dụng kiến trúc cell-based để xử lý giao dịch thanh toán quy mô lớn. …
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ự.
ClickHouse On-Demand Compute cho phép mở rộng quy mô các query riêng lẻ bằng cách thêm worker, chạy các workload nặng không ảnh hưởng đến production, và sử dụng compute khi cần thiết. Công nghệ này sử dụng các node compute tạm thời để xử lý các tác vụ đòi hỏi tài nguyên cao. Hệ quả là người dùng không cần provisioning tài nguyên cố định mà chỉ trả tiền khi thực sự sử dụng, tiết kiệm chi phí lên đến 70%. Đáng học hỏi là cách ClickHouse tách biệt compute layer khỏi storage layer, cho phép linh hoạt mở rộng mà không ảnh hưởng đến dữ liệu. Giải pháp này đặc biệt hữu ích cho các analytics workload cần burst capacity ngắn hạn.
ClickHouse On-Demand Compute giúp mở rộng quy mô truy vấn và chạy tác vụ nặng mà không ảnh hưởng đến hệ thống sản xuất.
gRPC-Web được ra đời để cho phép các ứng dụng trình duyệt gọi dịch vụ gRPC mà không cần thay đổi máy chủ, nhưng nó dựa trên việc mã hóa lại payload và thường yêu cầu một proxy như Envoy để chuyển đổi giữa HTTP/1.1 của trình duyệt và HTTP/2 của máy chủ. Vì trình duyệt không hỗ trợ nguyên bản HTTP/2, gRPC-Web buộc phải sử dụng định dạng mã hóa đặc biệt và thường chỉ hỗ trợ gọi unary, khiến các tính năng streaming của gRPC bị hạn chế hoặc mất đi. Điều này dẫn đến độ trễ tăng lên, kích thước gói tin lớn hơn và khiến trình duyệt trở thành khách hàng hạng hai so với các client gốc sử dụng gRPC qua HTTP/2. Bài viết gợi ý thay vào đó các nhà phát triển nên cân nhắc sử dụng giao thức RPC gốc cho web như ConnectRPC hoặc tRPC, hoặc đơn giản là REST/GraphQL khi không cần các tính năng streaming mạnh mẽ của gRPC. Bài học là khi chọn RPC cho ứng dụng web, ưu tiên những giải pháp không cần proxy và không làm thay đổi semantics của giao thức gốc để tránh những Overshoot về hiệu suất và tính năng.
Đọc bài này để hiểu cách gRPC-Web đã bị hạn chế trong môi trường web so với gRPC truyền thống, và tìm hiểu về những lỗ hổng về an toàn và hiệu suất, cùng so sánh với các giải pháp RPC phù hợp hơn cho web như Protocol Buffers Web để tối ưu hóa ứng dụng web hiện đại.
Bài viết giải thích thiết kế hệ thống từ đơn giản (máy chủ đơn) đến phức tạp (hàng triệu người dùng), bao gồm API, cơ sở dữ liệu, caching, CDN, load balancing và hạ tầng sản xuất.
Bài viết giúp bạn hiểu rõ cách xây dựng cơ sở hạ tầng thực tế từ những nguyên tắc cơ bản nhất, từ đó tránh những sai lầm thường gặp khi mở rộng hệ thống khi còn mới mẻ.
ORMs vẫn cần thiết vì chúng cung cấp lớp trừu tượng an toàn, hiệu quả để tương tác với cơ sở dữ liệu, trong khi LLMs chỉ sinh code tiềm ẩn rủi ro lỗi, kém tối ưu và khó bảo trì. ORMs giúp chuẩn hóa truy vấn, tránh SQL injection và tối ưu hóa hiệu suất thông qua caching, điều mà code do LLM sinh ra khó đảm bảo.
Lập trình viên nên đọc bài này để hiểu cách ORM và SQL vẫn giữ vai trò quan trọng trong quản lý dữ liệu cơ bản, giúp tránh rủi ro lỗi và tối ưu hóa hiệu suất khi ứng dụng lớn cần kiểm soát trực tiếp dữ liệu.
PostgreSQL mặc định bọc mỗi câu lệnh trong một giao dịch riêng khi không có BEGIN…COMMIT rõ ràng. Tuy nhiên, khi gửi nhiều câu lệnh trong một chuỗi truy vấn đơn (thông qua PQexec hoặc các hàm plpgsql) hoặc sử dụng các tiện ích như COPY và CREATE INDEX CONCURRENTLY, máy chủ sẽ ẩn ý tạo một giao dịch duy nhất bao gồm tất cả các câu lệnh đó. Điều này có thể dẫn đến việc giữ khóa lâu hơn, tiêu thụ ID giao dịch tăng nhanh và làm khó khăn việc rollback một phần công việc khi lỗi xảy ra. Do đó, lập trình viên cần kiểm tra xem ứng dụng của mình có vô tình nhóm nhiều câu lệnh vào một giao dịch ngầm không và cân nhắc sử dụng BEGIN…COMMIT cụ thể khi cần kiểm soát granularity. Theo dõi pg_stat_activity để phát hiện các giao dịch mở dài hạn cũng là biện pháp phòng ngừa tốt.
Bài này giúp lập trình viên hiểu rõ cách Postgres tự động tạo giao dịch nhiều câu lệnh, tránh lỗi và tối ưu hiệu năng.
Đội ngũ gRPC-Rust vừa hoàn thành bản preview phía client và đang chuẩn bị cho các bước phát triển tiếp theo. Họ cần giải quyết các vấn đề về tính ổn định của API, tích hợp hoàn toàn với mô hình async/await của Rust và nâng cấp lớp mã hoá TLS dựa trên thư viện native-tls. Khi các tính năng này ổn định, nhà phát triển sẽ có thể xây dựng dịch vụ gRPC hoàn toàn bằng Rust mà không cần phụ thuộc vào bản triển khai C++, giảm latency và tối ưu hoá sử dụng bộ nhớ. Dự án cho thấy giá trị của việc phát hành preview sớm để thu thập phản hồi cộng đồng trước khi khóa API, giúp giảm nguy cơ thay đổi phá vỡ sau này. Lộ trình cũng nhấn mạnh tầm quan trọng của việc duy trì sự tương thích ngược với protobuf và cung cấp công cụ codegen tự động qua tonic-build.
Bài này cung cấp lộ trình phát triển tiếp theo của gRPC-Rust giúp lập trình viên nắm định hướng công nghệ và lên kế hoạch phát triển hệ thống hiệu quả.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it