Reverb, the world's largest online marketplace for musical instruments, migrated a decade-old GraphQL stack to a federated supergraph — query by query, with zero client disruption — using Hive Gateway and The Guild's open source tooling.
Nguồn: https://the-guild.dev/graphql/hive/case-studies/reverb. 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.
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 …
Đang tải bình luận…
GitHub đã tích hợp Hive schema checks vào Merge Queues để tự động xác thực thay đổi cơ sở dữ liệu trước khi hợp nhất. Cập nhật mới cho phép mỗi mục trong hàng đợi so sánh với commit cơ sở (base commit) của nhánh thay vì với HEAD của nhánh đích. Việc này tách riêng các thay đổi schema do pull request hiện tại ra khỏi những thay đổi có thể đã được áp dụng trước đó, giảm nguy cơ falsa positive và falsa negative trong kiểm tra. Khi thiết kế pipeline CI/CD cho schema, nên luôn so sánh với commit cơ sở của thay đổi thay vì với trạng thái chung để cô lập tác động của mỗi PR. Áp dụng cách này giúp zespo phát triển tin tưởng hơn vào kết quả kiểm tra schema và giảm thời gian debug khi hợp nhất code.
Bài này giúp lập trình viên hiểu cách kiểm tra schema trong GitHub Merge Queues so sánh entry với commit cơ sở, tách biệt các thay đổi schema do pull request hiện tại mang lại.
Bài viết mô tả bối cảnh khi các đội ngũ phát triển cần quyết định kiến trúc phù hợp để hỗ …
Bối cảnh: Khi phát triển dịch vụ microservice, các team thường gặp khó khăn mô phỏng lỗi mạng mà không ảnh hưởng tới môi trường chung hoặc cần triển khai môi trường staging đắt costo. Nguyên nhân kỹ thuật: mirrord Chaos Testing hoạt động bằng cách chèn vào quá trình‑local, bắt các kết nối TCP/UDP tới các dependency và cho phép inject lỗi như mất kết nối, latency hoặc gói tin lỗi ngay khi cần. Hệ quả: Entwickler có thể quan sát ngay cách ứng dụng phản hồi – từ việc fallback, retry cho tới crash – mà không cần triển khai môi trường staging riêng hoặc lo ảnh hưởng tới các team khác. Điều đáng học: Công cụ cho thấy việc thực hiện chaos testing theo yêu cầu, nhẹ weight và isolates giúp phát hiện sớm các lỗi xử lý lỗi mà không tốn chi phí môi trường phức tạp, từ đó nâng cao độ tin cậy trước khi deploy. Các benchmark trong bài cho thấy mức overhead trung bình dưới 5% khi không kích hoạt fault, nên có thể bật liên tục trong quá trình dev mà không làm chậm đáng kể.
mirrord Chaos Testing giúp bạn phát hiện điểm yếu trong hệ thống của mình một cách an toàn và tiện lợi bằng cách mô phỏng các sự cố kết nối trong môi trường thực tế.
Bài viết khám phá sâu về modular monoliths, bao gồm module APIs, sở hữu database, giao tiếp giữa module, kiểm tra kiến trúc, di chuyển tăng dần và các tín hiệu chứng minh cần microservices.
Đọc bài này giúp bạn hiểu cách thiết kế kiến trúc modular monolith hiệu quả trước khi cân nhắc chuyển sang microservices.
Chuyển từ REST sang gRPC vì hiệu năng, nhưng sau đó phải mất một năm khắc phục những vấn đề vốn dễ dàng trước đây. Sau hai năm vận hành song song, tác giả nhận ra sự đánh đổi thực sự giữa hai công nghệ này.
Đọc bài này để hiểu rõ những nhược điểm không ngờ khi chuyển từ REST sang gRPC, giúp bạn tránh những quyết định kỹ thuật không cân bằng giữa hiệu suất và sự phức tạp thực tế trong dự án thực tế.
Nguyên tắc DRY (Don't Repeat Yourself) quan trọng nhưng việc loại bỏ trùng lặp cũng có chi phí. Khi chia sẻ code giữa các service, lựa chọn giữa thư viện chung (gây coupling) hay microservice (thêm độ trễ mạng) đều có nhược điểm. Trong codebase, kế thừa tạo coupling cứng nhắc, trong khi composition linh hoạt nhưng phức tạp. Tốt nhất nên giữ trùng lặp cho đến khi có bằng chứng thực tế để tách thành abstraction phù hợp.
Lập trình viên nên đọc bài này để tránh rơi vào sai lầm về DRY quá cứng nhắc, vì sự trùng lặp có thể là dấu hiệu cần thiết cho sự linh hoạt và bảo trì hiệu quả hơn là cố gắng loại bỏ ngay từ đầu.
Bài viết mô tả cách gem distance_of_time_in_words (dotiw) chuyển hai đối tượng Time thành chuỗi dễ đọc như “3 ngày và 4 giờ”. Năm nay có hai báo lỗi độc lập đều liên quan đến việc tính khoảng cách giữa hai mốc thời gian khi múi giờ và giờ tiết kiệm ánh sáng (DST) được áp dụng, đặc biệt là trường hợp Norfolk Island thay đổi múi giờ. Lỗi xuất phát từ việc gem chỉ thực hiện phép trừ đơn giản giữa các timestamp mà không tính đến các chuyển đổi múi giờ hoặc sự thay đổi độ dài ngày do DST, dẫn đến kết quả sai khoảng một giờ trong một số trường hợp. Sau khi xác định nguyên nhân, nhà phát triển đã sửa đổi logic tính thời lượng trong dotiw phiên bản 5.6.0 bằng cách sử dụng ActiveSupport::TimeWithZone hoặc các hàm chuyển đổi múi giờ chuẩn trước khi trừ. Bài học là khi làm việc với thời gian trong Ruby (hoặc bất kỳ ngôn ngữ nào) luôn cần chuẩn hóa cả hai mốc về cùng một múi giờ hoặc sử dụng thư viện nhận thức DST trước khi thực hiện phép trừ, thay vì dựa vào sự khác biệt số giây thô.
Bài viết này giúp lập trình viên hiểu được sự phức tạp khi tính toán khoảng thời gian giữa các múi giờ và cách xử lý vấn đề này trong Ruby.
Đọ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ử