Có các mẫu phổ biến mà mọi người sử dụng để tạo các ứng dụng đa chủ đề bằng Django hay không. Việc xây dựng trong "trang web" khuôn khổ có vẻ như một lựa chọn. Có cách tiếp cận nào khác mà mọi người đã thành công không?Ứng dụng Django đa người thuê nhà
Trả lời
Sử dụng khung trang web đi một chặng đường dài hướng tới việc cung cấp bảo đảm bảo mật cho "người thuê nhà", giả sử bạn cung cấp cho mỗi cá thể trang web một bảng duy nhất. Mặt khác, nó sẽ là một rắc rối lớn nếu bạn có một số lượng nhỏ người thuê và bạn sẽ lãng phí một lượng lớn tài nguyên máy chủ vì bạn sẽ cần ít nhất một quy trình máy chủ cho mỗi khách hàng ngay cả khi họ không sử dụng hệ thống. Nếu bạn có một số lượng lớn người thuê nhà, nó sẽ không được khá nhiều rắc rối bởi vì bạn sẽ bị buộc phải tự động hóa các giải pháp bất kể cách tiếp cận của bạn.
Đặt khóa người nước ngoài thuê ở hầu hết các mô hình của bạn sẽ hoạt động tốt và ORM của Django giúp dễ dàng (dễ dàng hơn) để thực thi bảo mật bằng cách sử dụng custom managers. Hạn chế là hiệu suất nếu bạn bắt đầu bị rèn với rất nhiều người dùng, bởi vì không có cách nào dễ dàng để mở rộng quy mô.
Nếu bạn cần mở rộng quy mô, tôi nghĩ giải pháp tốt nhất có thể là kết hợp cả hai cách tiếp cận. Mỗi mô hình có một người nước ngoài thuê để cơ sở dữ liệu có thể được chia sẻ nhưng sau đó bạn phát triển một số cơ chế ở mức cao hơn Django để định tuyến khách hàng vào một trường hợp trang web. Điều này cho phép bạn đặt những người thuê thực sự lớn trên cơ sở dữ liệu của riêng mình với các tài nguyên được điều chỉnh đúng cho họ (ví dụ: số lượng daemon mod_wsgi, số lượng kết nối cơ sở dữ liệu, nhóm memcache đúng kích cỡ, v.v.) và người thuê nhỏ hơn chia sẻ tài nguyên chung.
Hãy xem https://github.com/bcarneiro/django-tenant-schemas Bạn sẽ chỉ có một phiên bản dự án và sẽ không phải thực hiện nhiều sửa đổi trong mã của bạn.
Đây là một cách tiếp cận tốt đẹp nếu bạn muốn nhiều DB - cho phép bạn sử dụng nhiều lược đồ trong một DB, với chi phí thấp hơn. Yêu cầu PostgreSQL. Django đơn giản-người thuê nhà-schemas cũng là thú vị. – RichVel
@RichVel có nghĩa là nếu bạn không ** muốn nhiều DB, phải không? – Clash
Tôi có nghĩa là "nếu bạn muốn nhiều phương pháp giống DB nhưng sử dụng lược đồ", xin lỗi – RichVel
- 1. Kiến trúc CQRS đa người thuê nhà
- 2. Thực hiện đa thuê nhà cho một ứng dụng doanh nghiệp trưởng thành
- 3. Nhiều người thuê, người dùng đa quản trị trong ActiveAdmin
- 4. Cách tiếp cận tốt nhất cho các khóa chính đa người thuê nhà
- 5. Rest API với cơ sở dữ liệu đa người thuê nhà tách ra bởi khách hàng
- 6. Cách ly trong Ứng dụng ASP .NET Nhiều người thuê.
- 7. Miền tùy chỉnh cho ứng dụng web nhiều người thuê
- 8. Khuôn khổ thực thể cho kiến trúc nhiều người thuê - bộ lọc bảng đơn theo ID người thuê nhà
- 9. Sự khác nhau giữa giải pháp đa người thuê và đa người dùng là gì?
- 10. SAAS và Đa thuê trong Symfony2?
- 11. Các phương pháp hay nhất trong việc xây dựng các ứng dụng nhiều người thuê nhà là gì?
- 12. Hàng công nhân và hàng đợi nhiều người thuê nhà với RabbitMQ
- 13. Multitenancy với Fluent nHibernate và Ninject. Một Cơ sở dữ liệu cho mỗi Người thuê nhà
- 14. Ứng dụng đa người dùng ASP.NET
- 15. Cách nhanh nhất để triển khai Ứng dụng ASP.NET MVC đa đối tượng thuê
- 16. Quản lý chứng chỉ SSL cho trang web nhiều người thuê nhà
- 17. Làm cách nào để phát triển ứng dụng nhiều người thuê với Node.js (express.js)?
- 18. Giải pháp cho một ứng dụng web nhiều người thuê đơn giản với khung tổ chức
- 19. Giám sát ứng dụng virtualenv django qua người giám sát
- 20. Làm lò xo dữ liệu MongoDB đa thuê
- 21. Làm thế nào để làm cho Node.js Nhiều người thuê nhà cho các trang web trên cổng 80?
- 22. Nhà xuất bản ứng dụng
- 23. Django auth: tăng chiều dài tên người dùng tối đa
- 24. Ứng dụng đa luồng
- 25. ứng dụng đăng ký django và mô hình người dùng tùy chỉnh Django 1.5
- 26. Thử nghiệm ứng dụng web Windows Azure cho tải người dùng tối đa
- 27. Tắt ứng dụng đa luồng
- 28. Cơ sở dữ liệu SQL Server nhiều người thuê và tham số sniffing
- 29. Ứng dụng HTML5 đa ngôn ngữ
- 30. ứng dụng đa ngôn ngữ wpf
bản sao có thể có của [kiến trúc tối ưu cho ứng dụng đa nhiệm trên django] (http://stackoverflow.com/questions/7194341/optimal-architecture-for-multitenant-application-on-django) – akaihola