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.
AI summaries can be wrong. Read the original before relying on anything important.
Why read it: Đọ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.
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://buf.build/blog/grpc-web-failed-the-web. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
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 itBối cảnh: Thiết kế hệ thống là kỹ năng quan trọng đối với các kỹ sư phần mềm hiện nay, đặc biệt khi ứng tuyển vào vị trí senior hoặc staff-level. Nguyên nhân kỹ thuật: Khóa học mới này tập trung vào các nguyên tắc thiết kế architecture và giải quyết bài toán scale cho hệ thống thực tế. Hệ quả: Học viên sẽ nắm vững cách thiết kế hệ thống như một senior engineer, tăng khả năng ứng tuyển vào các vị trí cao cấp. Điều đáng học: Khóa học bao gồm các case study thực tế với công nghệ như microservices, load balancing và database sharding.
Khóa học này giúp bạn nâng cao kỹ năng thiết kế hệ thống phần mềm như một kỹ sư senior.
A streaming series is now available for free.
Roughly 18 months ago, I started working on streaming video from this site. The web side of that is fairly easy — use Shaka Player or similar to handle the JavaScript for playback, and serve up a bunch of .mp4 files with a DASH manifest. You end up with a lot of bytes, but very little actual complexity. They’re all just files that any web server can serve. The hard part turned out to be creating the video files. The problem was (and is) that there are too many choices that need to be made. You need to pick a set of resolutions to serve, you need to pick a set of codecs to support, and then you need to configure each codec at each resolution to get reasonable quality at a reasonable bitrate. None of the choices that need to be made here have a simple, correct answer. Everything ends up involving tradeoffs. This is the first of a set of 7 or 8 posts that aim to explain the tradeoffs, explain the choices that I’ve made for them, offer the data behind the choices, and then try to provide guidance and tools so you can make your own choices. Here’s what I’m planning on posting over the next few weeks: Part 1: Introduction (this post) Part 2: Methodology and Tooling Part 3: H.264 Part 4: H.265 Part 5: AV1 Part 6: Hardware vs Software encoding Part 7: Source Formats and Encoding Quality I may also add another post comparing encoding time on various platforms, depending on how much energy I’m willing to put into it.
Event-driven architecture (EDA) phổ biến nhưng tiềm nhiều thách thức trong production environment. Vấn đề truy xuất lỗi (tracing) trở nên phức tạp khi sự kiện (event) đi qua nhiều service khác nhau, đòi hỏi hệ thống phân tích log tập trung như ELK stack. Hàng đợi tin hỏi (dead letter queues) dễ bị đầy nếu không implement validation logic kỹ càng, dẫn đến mất dữ kiện quan trọng. Sự không nhất quán cuối cùng (eventual consistency) gây race condition khi nhiều consumer xử lý cùng event đồng thời. Các EDA system cần thiết kế event schema versioning và comprehensive testing framework với Contract Testing để đảm bảo reliability khi số lượng service tăng lên.
Bài viết này giúp lập trình viên nhận diện và giải quyết các vấn đề phổ biến trong kiến trúc hướng sự kiện như tracing, dead letter queues, tính nhất quán cuối cùng và testing.
Bối cảnh triển khai AI mà không có bước review rủi ro giống như thiếu một WHERE clause trong SQL có thể dẫn đến đêm dài khắc phục sự cố. Nguyên nhân kỹ thuật nằm ở việc các model AI có thể tạo ra dữ liệu không mong muốn khi không có bộ lọc phù hợp. Hệ quả có thể rất nghiêm trọng khi hệ thống AI vô tình tạo ra nội dung độc hại, sai lệch hoặc vi phạm chính sách. Đáng học hỏi là bài nhấn mạnh việc xác định rõ vị trí của cơ chế "phanh" (brake) trong hệ thống AI và ai chịu trách nhiệm kiểm soát nó.
Bài viết này giải thích tại sao thiếu bước kiểm duyệt trong AI sản xuất có thể dẫn đến hậu quả nghiêm trọng như lỗi query SQL không có WHERE clause.
Bối cảnh thiết kế MCP server tập trung vào việc tạo giao diện hữu ích với các công cụ rõ ràng, quyền tài khoản, giới hạn sử dụng và kết quả có thể dự đoán được. Nguyên nhân kỹ thuật chính là yêu cầu đảm bảo an toàn khi thực hiện các hoạt động ghi dữ liệu, đòi hỏi phải triển khai authentication mechanism chặt chẽ và rate limiting để ngăn chặn lạm dụng. Hệ quả của thiết kế tốt sẽ mang lại trải nghiệm người dùng ổn định, giảm thiểu rủi ro bảo mật và tài nguyên hệ thống. Điều đáng học là việc cấu trúc tools thành các đơn vị chức năng độc lập cùng với việc thiết kế hệ thống phân quyền chi tiết sẽ giúp mở rộng dễ dàng trong tương lai.
Bài hướng dẫn này giúp bạn thiết kế MCP server hiệu quả với công cụ bảo mật, xác thực và giới hạn sử dụng tối ưu.
MariaDB introduces four new tools to Enterprise Platform 2027 including AI Retrieval and Semantic Cache to streamline database agent development and reduce costs.
Vertical Slice vs Clean Architecture in .NET 10: real file counts, a decision matrix, and the pragmatic hybrid I recommend, with architecture tests.
Loading comments…