When building large-scale, modular systems in Elixir, you eventually hit a architectural crossroads:... Tagged with elixir, erlang, kernel, computerscience.
Source: https://dev.to/matheuscamarques/building-a-phased-microkernel-compiler-in-elixir-how-we-tamed-dependency-graphs-in-jusrisos-37ob. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
Chris Richardson trong buổi trò chuyện Dear Architects với Luca Mezzalira giải thích tại sao nhiều doanh nghiệp vẫn xây dựng hệ thống big ball of mud. Nguyên nhân kỹ thuật là distributed monolith hiện ra qua dấu hiệu như quá nhiều dịch vụ mỗi nhà phát triển, phát hành lockstep và không có tăng tốc độ, cùng với khung dark energy và dark matter để xác định ranh giới dịch vụ. Khi sử dụng GenAI coding agents, các yếu tố cơ bản như phản hồi nhanh, kiểm thử tự động và kết nối lỏng lẻo trở nên quan trọng hơn vì cần có bảo vệ và vòng phản hồi nhanh để tránh tạo mã chết hoặc tài liệu ảo; đồng thời ông nghi ngại về hiện đại hóa di sản nhanh bằng AI, khuyến nghị dùng Strangler Fig thay vì viết lại toàn bộ, và nêu lo ngại về mệt mỏi từ lập trình đôi với AI, tác động của GenAI đến mô hình kinh doanh mã nguồn mở và khả năng phát triển theo spec trở lại mô hình waterfall. Điều đáng học là các kiến trúc sư nên tập trung vào cơ sở vững chắc (feedback nhanh, kiểm thử tự động, coupling lỏng) trước khi áp dụng AI, và cân nhắc cách tiếp cận Strangler Fig để thay đổi hệ thống cũ thay vì viết lại toàn bộ. Bài học còn nhắc nhở việc giám sát mệt mỏi từ lập trình đôi với AI và đánh giá tác động của GenAI đến kinh doanh mã nguồn mở để tránh quyết định dựa trên xu hướng mà không có căn cứ thực tiễn.
Bài viết này giúp lập trình viên hiểu rõ cách kết hợp Microservices và GenAI trong tương lai, tránh các cạm bẫy kiến trúc phân mòn và tận dụng AI một cách hiệu quả.
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 chỉ ra hiện tượng coi số lượng dịch vụ microservices như dấu hiệu của kinh nghiệm …
Khi chuyển tính năng AI từ mô hình thử nghiệm sang môi trường sản xuất, nhóm cần xem model như một thành phần không tin cậy, xác suất trong hệ thống phần mềm truyền thống. Những sai lầm thường gặp là coi model như là toàn bộ hệ thống, bỏ qua việc xác định hợp đồng sản phẩm hẹp, không xác thực đầu ra model như dữ liệu không tin cậy, và không quản lý phiên bản prompt hoặc dữ liệu đánh giá trước khi tinh chỉnh. Điều này dẫn đến lỗi logic nghiệp vụ, chi phí không được kiểm soát, rủi ro bảo mật như prompt injection, và sự cố khi nhà cung cấp dịch vụ AI gặp sự cố mà không có cơ chế timeout, retry hoặc fallback. Áp dụng danh sách kiểm tra готовness bao gồm phạm vi, kiến trúc, chất lượng, độ tin cậy, bảo mật và hoạt động; giữ các quy tắc kinh doanh xác định bên ngoài model, xác thực đầu ra, cấp quyền truy cập công cụ theo nguyên tắc ít đặc quyền nhất, và duy trì con người trong các quy trình có hậu quả cao. Sau khi triển khai dần dần, equipes nên giám sát chất lượng sau khi ra mắt, đo chi phí cho mỗi kết quả thành công thay vì chỉ giá token, và ghi lại ranh giới AI để duy trì tính traceability và dễ bảo trì.
Bài hướng dẫn này cung cấp lộ trình thiết thực giúp lập trình viên khắc phục khoảng cách kỹ thuật khi triển khai AI từ prototype sang production.
AI đã làm cho việc tạo ra code trở nên rẻ hơn, nhưng việc sở hữu và duy trì code lại đòi …
Mô hình miền (domain model) và Ngôn ngữ phổ quát (Ubiquitous Language) càng trở nên quan trọng khi AI tự động sinh code.
Lập trình viên nên đọc bài này để hiểu cách Domain-Driven Design (DDD) và ngôn ngữ chung (Ubiquitous Language) trở nên quyết định hơn bao giờ hết khi AI tự động hóa viết code, giúp bảo vệ chất lượng logic và tính tương thích với yêu cầu thực tế của dự án.
Các nhà phát triển thường gặp vấn đề khi tích hợp AI do thiếu giao chuẩn hóa dẫn đến hệ thống yếu kém. Model Context Protocol (MCP) ra đời như giải pháp kết nối ứng dụng AI với công cụ và tài nguyên thông qua giao diện tiêu chuẩn hóa. Giao thức này giúp giảm thiểu sự phụ thuộc vào từng vendor cụ thể và tăng khả năng bảo trì. Các pattern thực tế trong MCP cho phép xây dựng hệ thống AI bền vững, dễ mở rộng mà không bị ràng buộc bởi công nghệ độc quyền.
MCP giúp xây dựng hệ thống AI ổn định và dễ bảo trì khi tích hợp với nhiều công cụ khác nhau.
Bài viết mô tả cách tích hợp Tailscale vào ứng dụng bằng thư viện tsnet để tạo mạng ảo riêng mà không cần cài client riêng. Sử dụng API của Tailscale, nhà phát triển có thể lập trình tạo và xoá các tailnet cô lập, mỗi tailnet có bộ thiết bị và chính sách riêng. Quá trình này được tự động hoá qua webhook hoặc script CI/CD, cho phép chia sẻ truy cập và quản trị admin mà không cần thao tác thủ công. Kết quả là giảm thời gian cấu hình mạng từ vài giờ xuống dưới vài phút và tăng khả năng cô lập giữa các môi trường test hoặc khách hàng. Bài học chính là khi xây dựng dịch vụ cần kết nối an toàn, nên xem tsnet như lớp SDK Go và khai thác API Tailscale để tự động hoá việc tạo, chia sẻ và quản trị tailnet.
Bài này giúp lập trình viên tích hợp Tailscale vào ứng dụng một cách hiệu quả bằng cách sử dụng tsnet và APIs để tự động hóa chia sẻ.
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