BP-04 // RAILS 8 NO-PAAS

Triển Khai Rails 8 + SolidQueue, SolidCache & Kamal 2 Trên Một VPS NVMe

Cắt bỏ hoàn toàn hóa đơn Managed Redis, Sidekiq và Cloud Postgres bằng kiến trúc tách 4 tệp SQLite WAL độc lập trên một máy chủ NVMe tốc độ cao.

MỤC TIÊU THÔNG LƯỢNG MÔ HÌNH
4x Isolated WALs
ĐẶC TÍNH ĐỌC / RPO
0.42 ms
PHÂN KHÚC MÁY CHỦ THAM CHIẾU
$10.49–$48 NVMe

Rails 8 đưa SQLite lên hàng cơ sở dữ liệu hạng nhất cho Production nhờ bộ ba SolidQueue, SolidCache, SolidCable cùng cơ chế tự động bật WAL và BEGIN IMMEDIATE trong ActiveRecord. Bí quyết cốt lõi khi chạy Kamal 2 là tách thành 4 tệp vật lý riêng biệt (`production.sqlite3`, `queue.sqlite3`, `cache.sqlite3`, `cable.sqlite3`) để các luồng xóa cache hay quét job ngầm không bao giờ tranh khóa ghi với đơn hàng của khách.

Trong bản vẽ lưu trữ BP-04 trên SQLiteEdge, mọi tham số dưới đây bám sát tài liệu SQLite 3.46 và biểu phí nhà cung cấp đối chiếu ngày 2026-11-12.

Nguyên Tắc Thiết Kế SQLiteEdge Cho Triển Khai Rails 8 + SolidQueue, SolidCache & Kamal 2 Trên Một VPS NVMe

  1. Khai báo 4 nhánh cơ sở dữ liệu riêng dưới mục production: trong config/database.yml — mỗi tệp SQLite sở hữu khóa ghi đơn luồng và tệp -wal độc lập hoàn toàn!
  2. Mount thư mục /var/lib/kamal-storage:/rails/storage trực tiếp vào ổ NVMe của máy chủ vật lý để mỗi lần deploy container mới dữ liệu vẫn nguyên vẹn.
  3. Cấp phát thoải mái 20 GB – 60 GB ổ NVMe cho SolidCache thay vì tốn $120/tháng thuê gói Managed Redis chỉ vẻn vẹn 2 GB RAM.
  4. Chỉ cấu hình Litestream sao lưu tệp production.sqlite3 (và queue.sqlite3 nếu cần) — loại trừ tệp cache để tiết kiệm 100% băng thông S3.

Mẫu Cấu Hình SQLiteEdge: config/database.yml (Cấu Hình Đa Tệp SQLite Chuẩn Rails 8)

config/database.yml (Cấu Hình Đa Tệp SQLite Chuẩn Rails 8)
default: &default
  adapter: sqlite3
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 8 } %>
  timeout: 5000
  pragmas:
    journal_mode: wal
    synchronous: normal
    mmap_size: 4294967296
    cache_size: -524288
    journal_size_limit: 67108864

production:
  primary:
    <<: *default
    database: storage/production.sqlite3
  queue:
    <<: *default
    database: storage/production_queue.sqlite3
  cache:
    <<: *default
    database: storage/production_cache.sqlite3
  cable:
    <<: *default
    database: storage/production_cable.sqlite3

Bảng Mô Hình Thông Số & Chi Phí SQLiteEdge (BP-04)

Các mức giá tham khảo cập nhật ngày 2026-11-12 từ trang công khai của hãng (giá có thể thay đổi khi thanh toán); thông số thông lượng là ước tính mô hình lý thuyết, hãy tự xác thực bằng fio trên máy chủ của bạn.

Hạng Mục Hạ TầngCụm Heroku / AWS ManagedRails 8 + Kamal Trên NVMe VPS
Web + Worker Compute (16GB)$250 / tháng (Dynos / ECS)Gói gọn trong VPS NVMe $10.49–$48
Cơ Sở Dữ Liệu Chính (50 GB)$165 / tháng (Managed Postgres)production.sqlite3 ($0 phụ phí)
Hàng Đợi Job + Bộ Đệm Cache$115 / tháng (Managed Redis)SolidQueue + SolidCache trên NVMe ($0)
Tổng Chi Phí Hàng Tháng$530.00 / tháng$16.49 – $54.00 / tháng (kèm $6 DR)

Cấu Hình Máy Chủ NVMe & Kho S3 Khớp Bản Vẽ BP-04 Trên SQLiteEdge

  • Vultr High Frequency 3.5GHz+ Ổ NVMe Cục Bộ (Độ Trễ fsync Cực Thấp)
    Xung đơn nhân 3.7GHz+ & NVMe trực tiếp • fsync ~0.045ms đẩy kịch trần TPS ghi đơn luồng SQLite WAL (https://www.vultr.com/pricing/)
    Xem Gói Vultr Cho BP-04 Trên SQLiteEdge →
  • InterServer Storage $6 Khóa Giá Trọn Đời (Đích Lưu Trữ S3 / MinIO Cho Litestream)
    Chỉ $6/tháng khóa giá trọn đời cho 1TB • $0 phí lệnh PUT S3 khi stream WAL mỗi giây bằng Litestream (https://www.interserver.net/vps/)
    Xem Kho S3 InterServer Cho BP-04 Trên SQLiteEdge →

Mở kịch bản BP-04 này trong Trình Sinh PRAGMA SQLiteEdge →

Câu Hỏi Kỹ Thuật SQLiteEdge Cho Bản Vẽ BP-04

  • Tiến trình SolidQueue quét job liên tục có làm nghẽn lệnh ghi của người dùng không?

    Hoàn toàn không khi bạn tách queue.sqlite3 thành tệp riêng trong database.yml! Khóa ghi của SQLite tính theo từng tệp độc lập, nên SolidQueue ghi thoải mái vào tệp queue trong khi giao dịch khách hàng toàn quyền sử dụng tệp primary.

  • Nên chọn Hostinger EPYC KVM hay Vultr High Frequency cho cụm Kamal 2?

    Khởi đầu tối ưu nhất với Hostinger KVM 4 (4 vCPU / 16GB / 200GB NVMe giá $10.49/tháng); nâng cấp lên Vultr 3.5GHz+ High Frequency khi SolidQueue xử lý trên 1.500 job/giây hoặc cần xung đơn nhân cao cho Ruby.