Tìm kiếm
40 kết quả cho “chạy lại lỗi cũ cho tương thích”. Tìm không phân biệt dấu.
- Migrating Millions of Concurrent Websockets to Envoy Bài tóm tắt · Slack · 2021
…, các resource thêm listener/route/cluster vào đó, cuối lần chạy Chef mới sinh envoy.yaml , chạy envoy --mode validate rồi mới cài, không bao giờ ghi cấu hình trung gian. Một số tí…
- Chọn database theo workload Chủ đề Thành viên
Không có database tốt nhất, chỉ có database hợp với mẫu đọc/ghi ở một quy mô cụ thể. Mẫu đó thay đổi khi sản phẩm lớn lên. Ngoài ra, chuyên môn vận hành của đội cũng là một phần của "workload".
- Nền tảng nội bộ cho service (đường ray chung) Chủ đề Thành viên
Tách hệ thống thành nhiều phần (service, hoặc component trong một monolith) giải được bài toán tổ chức. Nhưng nếu mỗi team tự làm RPC, retry, log, metric, contract theo cách riêng, thì ta chỉ đổi một kiểu hỗn loạn lấy…
- Testing concurrent code with testing/synctest Bài tóm tắt · Go · 2025
…ime . Thay đổi chính - Package chỉ có hai hàm. synctest.Run chạy một hàm trong goroutine mới; nó và mọi goroutine nó sinh ra nằm trong một bubble . synctest.Wait chờ tới khi mọi go…
- Migration không downtime Chủ đề Thành viên
Hệ thống đang chạy thật (gọi xe, chat, thiết kế) không được dừng, nhưng phải đổi ngôn ngữ, database hoặc hạ tầng bên dưới.
- Observability và monitoring Chủ đề Thành viên
Lúc đầu, monitoring là vài dashboard và một công cụ cài sẵn; log đọc thẳng từ máy. Khi hệ lớn lên, chính hệ quan sát thành một hệ phân tán có bài toán riêng:
- Event-driven, message queue và Kafka Chủ đề Thành viên
Khi một hệ có nhiều bên cần biết "có gì vừa xảy ra" (đơn hàng đổi trạng thái, tin đăng được sửa, ticket được cập nhật), gọi đồng bộ từng bên một làm producer phải biết mọi consumer, và một consumer chậm kéo chậm cả…
- Tự động hoá vận hành và auto-remediation Chủ đề Thành viên
Khi số máy, shard, pod tăng lên hàng nghìn, lỗi "hiếm" (một node chết, một đĩa hỏng, một replica trễ) thành chuyện hằng ngày, và thao tác tay không còn theo kịp: Stripe có hàng trăm lần shard suy giảm mỗi năm, mỗi lần…
- Pipeline dữ liệu và analytics Chủ đề Thành viên
Lúc đầu, báo cáo chạy thẳng trên DB production. Đến một lúc truy vấn phân tích làm chậm giao dịch, dữ liệu cần gộp từ nhiều nguồn, và có thêm người dùng mới (analyst, ML, khách hàng xem dashboard). Khi đó cần một mặt…
- Deploy và release an toàn Chủ đề Thành viên
Phần lớn sự cố bắt đầu bằng một thay đổi: code mới, cấu hình mới, hạ tầng mới. Khi hệ thống và tổ chức lớn lên, câu hỏi là làm sao đưa thay đổi lên production thường xuyên mà vẫn giới hạn được thiệt hại khi có lỗi.
- Kiểm thử độ tin cậy (chaos, fault injection, mô phỏng tất định) Chủ đề Thành viên
Lỗi trong hệ phân tán là chắc chắn (máy chết, zone mất, dependency chậm, cấu hình sai), nhưng phần lớn lỗi nằm ở những tổ hợp hiếm mà test chức năng không chạm tới. Bài toán là chủ động gây lỗi để biết hệ thống phản ứng…
- Failover, replica và dự phòng dữ liệu Chủ đề Thành viên
Mọi hệ có trạng thái đều giữ nhiều bản (replica) để một máy chết không làm mất dịch vụ. Khó không nằm ở việc có bản sao mà ở lúc chuyển sang bản sao:
- CI và build ở quy mô lớn Chủ đề Thành viên
Lúc nhỏ, CI là "mỗi commit chạy hết build và test". Khi codebase và số commit tăng, chạy hết trở thành bất khả (Stripe 2026: chạy tuần tự mất bốn tháng), và thời gian chờ của một thay đổi không còn chỉ là thời gian…
- Đổi ngôn ngữ và runtime Chủ đề Thành viên
Ngôn ngữ ban đầu được chọn để làm nhanh. Khi lớn lên, nó có thể thành nút thắt về hiệu năng, latency, hoặc tổ chức code. Có ba hướng: tối ưu runtime đang dùng, cải tiến dần, hoặc viết lại có phạm vi.
- Nền tảng ML (feature, training, serving, giám sát model) Chủ đề Thành viên
Model ML đầu tiên của một công ty thường được nhúng thẳng vào một service có sẵn, với feature tính trong vài script và train bằng một job riêng. Khi số model và số người làm model tăng, bốn chỗ cùng hỏng:
- Quản lý fleet và migrate code hàng loạt Chủ đề Thành viên
Khi số component (repo, service, pipeline, thư viện) tăng nhanh hơn số kỹ sư, chi phí của mỗi thay đổi xuyên suốt (nâng thư viện, vá bảo mật, đổi API nội bộ, khai tử dataset) tỉ lệ với số component chứ không với độ khó…
- Cache và invalidation Chủ đề Thành viên
Cache là cách rẻ nhất để một DB chịu được lượng đọc tăng nhiều lần. Vì vậy nó xuất hiện ngay từ giai đoạn đầu (Instagram 2011, Facebook 2004–2010). Cái giá đến sau, và lặp lại ở hầu hết các nguồn:
- Chi phí hạ tầng và build vs buy Chủ đề Thành viên
Khi còn nhỏ, chi phí hạ tầng là chuyện phụ và cloud là lựa chọn hiển nhiên. Khi lớn lên, hoá đơn có thể chiếm phần lớn giá vốn. Hai câu hỏi xuất hiện: tối ưu chi phí trên nền đang có thế nào, và khi nào nên tự xây (hoặc…
- Hot partition và thundering herd Chủ đề Thành viên
Chia dữ liệu và tải ra nhiều máy chỉ hiệu quả khi tải chia đều. Thực tế tải lệch: một khách hàng khổng lồ, một kênh có @everyone, một bài của người nổi tiếng. Có hai dạng hay gặp:
- Hạ tầng tìm kiếm Chủ đề Thành viên
Lúc đầu, tìm kiếm là LIKE trên database hoặc một thư viện (Lucene) nhúng trong app. Khi dữ liệu và tính năng tăng, search thành một hệ có trạng thái riêng, khác database ở mấy điểm:
- Stream processing Chủ đề Thành viên
Khi batch hằng ngày hay hằng giờ không còn đủ tươi (chi tiêu quảng cáo phải dừng đúng lúc chạm ngân sách, dashboard MRR không được trễ 24 giờ, alert phải bắn khi contest sắp đầy), hệ phải tính liên tục trên luồng sự…
- Navigating the Spark 3 and EMR 6 Upgrade Journey at Slack Bài tóm tắt · Slack · 2024
…flow nộp job qua Livy bằng operator tự viết. - Mọi workload chạy trên EMR 5.36, Spark 2.4.8, Hive 2.3.9. Khối lượng dữ liệu tăng làm pipeline quan trọng thường xuyên trễ SLA (gồm d…
- PostgreSQL Stories: A simple query with a big problem Bài tóm tắt · Render · 2024
…ều tra) - Thu hẹp phạm vi: thao tác cơ bản trên staging vẫn chạy; lỗi lặp lại đúng chỗ (luôn là bước migration). Trên dashboard, biểu đồ tuổi của transaction mở lâu nhất tăng từ và…
- Tách compute khỏi storage Chủ đề Thành viên
Hệ có trạng thái kiểu cổ điển (database, broker Kafka, fileserver Git) đặt dữ liệu bền trên đĩa của chính máy xử lý. Máy đó vừa là compute vừa là storage, nên:
- Batching và khấu hao round-trip Chủ đề Thành viên
Nhiều nút thắt không nằm ở việc mỗi thao tác tốn bao nhiêu công, mà ở chi phí cố định trả cho mỗi thao tác: một round-trip mạng, một lần fsync, một PUT lên object storage, một syscall, một transaction. Khi chi phí cố…
- A Self-Baked Async FFI Framework for Rust <-> C# Interop Bài tóm tắt · ScyllaDB · 2026
…uteAsync(...) . - Bẫy hai runtime: luồng executor của Tokio chạy luôn phần continuation của C (vì .NET tối ưu để giảm chuyển ngữ cảnh). .NET tự thêm thread khi phát hiện deadlock,…
- Sharding và tách database Chủ đề Thành viên
Một database quan hệ duy nhất là điểm khởi đầu của hầu hết sản phẩm. Đến một lúc nó không chịu nổi lượng ghi, dữ liệu không còn vừa một máy, hoặc một sự cố ở DB đó làm sập mọi tính năng.
- Thử nghiệm A/B và nền tảng experimentation Chủ đề Thành viên
Khi nhiều team cùng thay đổi một sản phẩm, "ship rồi xem metric" không còn trả lời được thay đổi nào gây ra gì. Thí nghiệm có đối chứng trả lời được, nhưng ở quy mô lớn nó thành một hệ thống: gán người dùng vào biến thể…
- Mercari Công ty Thành viên
PaymentService của Merpay (2019) giữ nhất quán thanh toán qua nhiều service bằng cách tự làm ở tầng ứng dụng: chia pha + state machine, idempotency key bắt buộc, bù trừ kiểu TCC, đối soát và fault injection . Ba năm…
- LinkedIn Công ty Thành viên
Bài khung là bài nhìn lại năm 2015 . LinkedIn bắt đầu năm 2003 là một monolith tên Leo. Service đầu tiên tách ra là member graph, vì đồ thị kết nối có profile tải khác hẳn; DB profile được đỡ bằng scale dọc rồi replica…
- Sinh ID phân tán Chủ đề Thành viên
Khi chỉ có một database, AUTOINCREMENT là đủ. Khi dữ liệu nằm trên nhiều máy, ID không còn duy nhất toàn hệ thống. Đây thường là thứ đầu tiên vỡ khi phân tán dữ liệu. Yêu cầu hay gặp: duy nhất, sắp được theo thời gian,…
- Running a Software Factory Efficiently at Uber Scale Bài tóm tắt · Uber · 2026
…mềm ở Uber (2026): hơn 70% pull request được ghi cho agent chạy local hoặc cloud; engineer đã viết hơn 3.600 agent skill , hơn 30.000 lượt chạy skill mỗi ngày. Ngày càng nhiều phi…
- Evolving the Go Standard Library with math/rand/v2 Bài tóm tắt · Go · 2024
…oàn cục, nên thư viện tự seed trong init và một package chỉ chạy đúng nhờ tình cờ package khác cũng được import (đã gặp trong codebase lớn); bộ sinh toàn cục có mutex, khi chạy son…
- Dropbox Công ty Thành viên
Dropbox luôn là hybrid: metadata ở data center riêng, nội dung file trên S3. Ở ~500 PB họ tự xây Magic Pocket, theo Dropbox vì hiệu năng và unit economics . Cái giá kèm theo là phải tự dựng cả backbone và edge network .…
- The Deceptively Simple Act of Writing to Disk Bài tóm tắt · ScyllaDB · 2026
…Các hướng đi sai (đáng ghi lại) - Đỉnh hay bền: nghi IOTune chạy mặc định 2 phút đo trúng đỉnh (SSD ổn định sau khoảng 30 phút, thấp hơn khoảng 5%), làm model bị thổi phồng. Đo lại…
- Stack Overflow: How We Do Monitoring - 2018 Edition Bài tóm tắt · Stack Overflow · 2018
…trước: ; bài sau: . Bối cảnh Cuối 2018, Stack Overflow vẫn chạy ASP.NET MVC5 và đang chuyển sang .NET Core. Bài chia dữ liệu monitoring thành logs, metrics, health checks và profi…
- How we built our multi-agent research system Bài tóm tắt · Anthropic · 2025
…. Theo Anthropic, bản chất của search là nén : các subagent chạy song song, mỗi cái một context window riêng, rồi cô đặc phần quan trọng gửi về agent chính. Thay đổi chính - Orches…
- DuckDB v2.0: Your Database Deserves a Better Parser Bài tóm tắt · DuckDB Labs · 2026
…,001 giây, đổi lại tốn thêm bộ nhớ khi parse. - Mở rộng lúc chạy (bản xem trước): extension thêm luật grammar vào các điểm mở rộng (ví dụ thêm một lựa chọn cho SelectAtom ), đăng k…
- Pitfalls and Patterns in Microservice Dependency Management Bài tóm tắt · Google · 2021
…PI, Auth, Control, Data, Ops) giao tiếp qua mạng → một phần chạy trên cloud. Mạng trở thành một phần của sản phẩm. - PetPic phục vụ hai vùng (Happytails, Furland), mỗi vùng 100 khá…
- Incident report: Runs list and logs degraded Bài tóm tắt · Trigger.dev · 2026
…cho queue) và giao diện quan sát (runs list, logs, traces) chạy trên ClickHouse . ClickHouse chỉ trả danh sách run ID khớp bộ lọc; chi tiết run luôn đọc từ Postgres. - Task output…