Tìm kiếm
36 kết quả cho “Ruby”. Tìm không phân biệt dấu.
- Taking our Ruby & Kafka stack to the next level Bài tóm tắt · Doximity · 2022
…ài gốc](https://technology.doximity.com/articles/taking-our-ruby-kafka-stack-to-the-next-level) Bối cảnh - Mọi app Rails ở Doximity nói chuyện với Kafka qua gem nội bộ dox-messagin…
- Selective Test Execution at Stripe: Fast CI for a 50M-line Ruby monorepo Bài tóm tắt · Stripe · 2026
…g/selective-test-execution-at-stripe-fast-ci-for-a-50m-line-ruby-monorepo) Bối cảnh - Monorepo Ruby của Stripe khoảng 50 triệu dòng , khoảng 100.000 file test, 1,2 triệu test unit…
- Alerting Framework at Airbnb Bài tóm tắt · Airbnb · 2017
…, đồng bộ qua API của Datadog bằng công cụ Interferon (gem Ruby, open source). - Ruby DSL + host source: alert viết bằng DSL; Interferon đọc thông tin host từ các nguồn cắm thêm (…
- Sitar-agent: Building a reliable dynamic configuration sidecar at scale Bài tóm tắt · Airbnb · 2026
…c thì không). Fleet viết bằng Java, Python, Go, TypeScript, Ruby. Thay đổi chính - Vòng đời giao config: commit vào Sitar Service (version, changelog, ACL) → Snapshot Service mỗi g…
- 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…
- 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…
- 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ả…
- Monolith và microservices — đi và quay lại Chủ đề Thành viên
Lúc nào nên tách hệ thống thành nhiều service, và cái giá của việc đó là gì? Các nguồn hiện có cho thấy đây không phải đường một chiều.
- Xác thực và phân quyền (authn/authz) Chủ đề Thành viên
Ở monolith, mỗi dữ liệu thường chỉ có một đường vào, nên kiểm tra quyền nằm ngay đó: một hàm hasaccess?, một API mỗi resource. Khi hệ thống tách thành nhiều service, nhiều client, nhiều loại token, cả hai nửa đều vỡ:
- Đổ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.
- Sự cố và postmortem Chủ đề Thành viên
Nhiều bước ngoặt kiến trúc trong wiki bắt đầu từ một sự cố: Netflix lên cloud sau 3 ngày không gửi được DVD, Twitter viết lại hệ thống sau World Cup 2010, Instagram đi nhiều data center sau trận bão 2012. Trang này gom…
- Xử lý sự cố và on-call Chủ đề Thành viên
Khi hệ còn nhỏ, vài người biết hết mọi thứ; có lỗi thì người thấy đầu tiên sửa luôn. Khi có hàng trăm service và hàng trăm engineer, câu hỏi đổi khác:
- Doximity Công ty Thành viên
Mọi app Rails dùng Kafka qua gem nội bộ dox-messaging. Năm 2022 họ thay ruby-kafka (heartbeat chung thread, gây rebalancing storm) bằng rdkafka trên librdkafka mà giữ nguyên interface; qua đợt segfault khi rollout,…
- How we rolled out our own permissions DSL at Figma Bài tóm tắt · Figma · 2024
…h sách của org). - Ban đầu toàn bộ logic nằm trong monolith Ruby: mỗi model ActiveRecord có hàm has access? , một chuỗi if/else gọi DB rồi trả boolean. Đầu 2021 xuất hiện hàng loạt…
- Integrating Neo4j Into Your Stack Bài tóm tắt · Doximity · 2022
…kho phụ. Liên quan - · - Cùng công ty: (nền tảng Kafka cho Ruby) · - Cùng bài toán graph DB:…
- Figma Công ty Thành viên
Năm 2017, đợt spam đầu tiên chứng minh giá trị của rate limiter tự viết . Năm 2019 cả Figma vẫn chạy trên một DB instance theo nguyên tắc KISS, và họ đã nói cần DB scale ngang . Ví dụ kinh điển của lộ trình Postgres.…
- Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity Bài tóm tắt · Shopify · 2019
…ỹ thuật (models/views/controllers). Họ liệt kê ~6.000 class Ruby trong một bảng tính, gán tay từng class vào component, rồi chuyển file bằng một PR "big bang" sinh tự động. Không đ…
- Stripe Công ty Thành viên
Khoảng 2.000 shard MongoDB với hơn 40 kiểu bố trí; năm 2026 Stripe thay tự sửa dạng plugin bằng tìm đường (BFS rồi Dijkstra) trên state machine của shard, mô phỏng bằng chính code Temporal, giảm 30% số lần gọi người…
- Building a data plane from scratch: Stripe's own high-performance distributed proxy Bài tóm tắt · Stripe · 2026
…tính năng riêng: một cách định tuyến giúp thu nhỏ máy chạy Ruby (đắt) cần tuỳ biến Envoy quá nhiều nên chưa từng làm. Thay đổi chính - mesh-proxy viết bằng Go, tự cài HTTP/1.1 và…
- New Tweets per second record, and how! Bài tóm tắt · Twitter · 2013
…quả ngọt". - Hiện trạng sau 2010: - Một trong những cài đặt Ruby on Rails lớn nhất thế giới, ~200 kỹ sư cùng sửa một codebase monolith (từ kết nối DB tới render và public API). - T…
- Airbnb Công ty Thành viên
Airbnb chuyển từ một ứng dụng Rails khổng lồ sang SOA, và lộ ra chi phí test: deep integration test cho mọi service không scale, nên họ chuyển sang tháp test + CD có canary analysis . Năm 2025 với ba trụ sản phẩm, data…
- Unlocking Horizontal Scalability in Our Web Serving Tier Bài tóm tắt · Airbnb · 2016
…kiện dị dạng, chống câu query bị hỏng do lỗi hỏng heap của Ruby VM. Đã chặn ít nhất một lần. - Triển khai thành service: mỗi DB lõi một cụm proxy (một worker thread mỗi instance,…
- Open Sourcing Coinbase's Secure Deployment Pipeline (Odin) Bài tóm tắt · Coinbase · 2018
…ale nhanh. - Odin là bản mới, mã nguồn mở, của một deployer Ruby nội bộ; lúc viết bài vẫn đang alpha ở Coinbase. Thay đổi chính - Mục tiêu thiết kế: blue/green "dùng một lần" (tạo…
- The growing pains of database architecture Bài tóm tắt · Figma · 2023
…cô lập: tách bảng sẽ mất transaction, foreign key, JOIN. Vì Ruby/ActiveRecord quá động để phân tích tĩnh, họ gắn validator lúc chạy vào ActiveRecord, gửi thông tin query/transactio…
- GitHub Công ty Thành viên
Rails + một MySQL; sau đó tách vài tính năng, thêm replica, ProxySQL; nhưng lõi vẫn là cluster mysql1 được scale dọc liên tục. Từ 2019 họ tách ảo bằng schema domain + linter rồi dời vật lý bằng Vitess hoặc write-cutover…
- How we scaled async workload processing at GitLab.com using Sidekiq Bài tóm tắt · GitLab · 2020
…nd hay memory-bound (quyết định mức đồng thời trong process Ruby, hoặc đưa job tốn RAM lên node ít thread nhiều RAM). - SLA tách trách nhiệm : job high chờ không quá 10 giây và chạ…
- This Rocket Ain't Stopping - Achieving Zero Downtime for Rails to Golang API Migration Bài tóm tắt · Grab · 2016
…o-scale. Họ chữa bằng script restart Go dần. - Gem gRPC của Ruby rò bộ nhớ (họ còn gửi PR sửa). - Latency đo hai đầu không khớp. Sau ~1 tháng họ bỏ hẳn hướng này và chuyển logic th…
- Driving Southeast Asia Forward with AWS Bài tóm tắt · Grab · 2017
…át triển (có Hồ Chí Minh). Thay đổi chính - Bắt đầu (2012): Ruby on Rails trên EC2 + RDS MySQL + VPC. Dùng AWS từ ngày đầu. - Sau đó: từ một ứng dụng monolith sang kiến trúc micros…
- Achieving observability in async workflows Bài tóm tắt · Netflix · 2021
…nổ. - Cuối 2019, team bọc chức năng watermark bất đồng bộ (Ruby on Rails) bằng một Java DGS mỏng. Team ôm cả tích hợp Google Drive, watermark, quản lý traffic bùng nổ và on-call;…
- Implementing ChatOps into our Incident Management Procedure Bài tóm tắt · Shopify · 2018
…m thì sự cố mới thực sự kết thúc. - Bot Spy (dựa trên Lita, Ruby; nối với Slack, PagerDuty, StatusPage, GitHub qua webhook): - spy page , spy pager ack để gọi và nhận page ngay tro…
- Under Deconstruction: The State of Shopify's Monolith Bài tóm tắt · Shopify · 2020
…Bối cảnh - 18 tháng sau . Monolith chính có 2,8 triệu dòng Ruby, 500.000 commit , phát triển liên tục từ 2006, hàng trăm developer đang thêm tính năng. - Mục tiêu ban đầu vẫn giữ…
- Caching Without Marshal Part 2: The Path to MessagePack Bài tóm tắt · Shopify · 2022
…au deploy cache chạy lại bình thường. - Gặp bug của msgpack-ruby (extension type không áp cho lớp con của Hash như HashWithIndifferentAccess ), gửi PR sửa (bản 1.4.3). - 95% payloa…
- We replaced Redis with MySQL for inventory reservations, and it scaled Bài tóm tắt · Shopify · 2026
…ng DB, không chỉ làm nó nhanh. - Prototype tối giản (script Ruby + MySQL, quan sát khoá ở một terminal khác) cho phản hồi nhanh hơn lý thuyết. Liên quan - - - -…
- Advancing Our Chef Infrastructure Bài tóm tắt · Slack · 2024
…ấu hình (vòng phụ thuộc), nên logic tra cứu phải chạy trong ruby block ở pha converge (kèm lazy ), không ở pha compile. - Chef làm inventory: nhiều công cụ dùng Chef làm kho thông…
- Twitter Công ty Thành viên
Khi rời một MySQL duy nhất sang Cassandra và MySQL shard (Gizzard), thứ vỡ đầu tiên là sinh ID, dẫn tới Snowflake (64 bit, k-sorted, không phối hợp) . Sau World Cup 2010, họ nhận ra monolith Rails (~200 kỹ sư) và…
- The Architecture Twitter Uses to Deal with 150M Active Users, 300K QPS, a 22 MB/S Firehose, and Send Tweets in Under 5 Seconds Bài tóm tắt · Twitter · 2013
…n còn lại cho đường bất đồng bộ, một phần vì đường ghi chạy Ruby đơn luồng. Vấn đề và hướng đi (theo Twitter qua HighScalability) - Tài khoản nhiều follower: một tweet của người có…