Chúng tôi có một trang web dựa trên Django mà chúng tôi muốn làm cho một số nội dung (văn bản và logic kinh doanh như kế hoạch giá) có thể dễ dàng chỉnh sửa trong nhà và vì vậy chúng tôi đã quyết định lưu trữ bên ngoài cơ sở mã. Thông thường lý do là một trong những điều sau đây:
Đó là thứ mà những người phi kỹ thuật muốn chỉnh sửa. Một ví dụ là viết quảng cáo cho một trang web - các lập trình viên chuẩn bị một mẫu có văn bản mặc định là "Lorem ipsum ..." và nội dung thực được chèn sau vào cơ sở dữ liệu.
Đó là điều mà chúng tôi muốn có thể thay đổi nhanh chóng mà không cần phải triển khai mã mới (mà chúng tôi hiện đang làm hai lần một tuần). Một ví dụ sẽ là các tính năng hiện có sẵn cho khách hàng ở các mức giá khác nhau. Thay vì mã hóa những thứ này, chúng tôi đọc chúng từ cơ sở dữ liệu.
Giải pháp được mô tả là linh hoạt nhưng có một số lý do khiến tôi không thích nó.
Bởi vì nội dung phải được đọc từ cơ sở dữ liệu, có một chi phí hoạt động .
Chúng tôi giảm thiểu điều đó bằng cách sử dụng sơ đồ bộ đệm, nhưng điều này cũng làm tăng thêm một số phức tạp cho hệ thống.
Các nhà phát triển chạy mã cục bộ sẽ thấy hệ thống ở trạng thái khác biệt đáng kể so với cách nó chạy trên sản xuất. Kiểm tra tự động cũng thực hiện hệ thống ở một trạng thái khác. Các tình huống như thử nghiệm các tính năng mới trên máy chủ dàn cũng trở nên phức tạp hơn - nếu máy chủ dàn không có bản sao cơ sở dữ liệu gần đây, thì nó có thể khác bất ngờ so với sản xuất.
Thỉnh thoảng chúng tôi có thể giảm thiểu điều đó bằng cách cam kết trạng thái mới vào kho lưu trữ (ví dụ: bằng cách thêm di chuyển dữ liệu), nhưng có vẻ như đó là một cách tiếp cận sai. Là nó?
Bất kỳ ý tưởng làm thế nào tốt nhất để giải quyết những vấn đề này? Có cách tiếp cận nào tốt hơn để xử lý nội dung mà tôi đang xem không?