MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongoose tạo kết nối để hỗ trợ nhiều người thuê trong node.js

Tôi không khuyên bạn nên tạo và quản lý các kết nối riêng biệt đó theo cách thủ công. Tôi không biết chi tiết về các yêu cầu nhiều người thuê của bạn (số lượng người thuê, kích thước cơ sở dữ liệu, số lượng giao dịch dự kiến, v.v.), nhưng tôi nghĩ sẽ tốt hơn nếu chọn một cái gì đó như Hàm useDb của Mongoose . Sau đó, Mongoose có thể xử lý tất cả các chi tiết về nhóm kết nối.

cập nhật

Hướng đầu tiên tôi sẽ khám phá là thiết lập mỗi đối tượng thuê trên một quy trình nút riêng biệt. Có một số lợi ích thú vị khi chạy các đối tượng thuê của bạn trong các quy trình nút riêng biệt. Nó có ý nghĩa từ quan điểm bảo mật (bộ nhớ biệt lập) và từ quan điểm ổn định (một sự cố quy trình của người thuê không ảnh hưởng đến những người khác).

Giả sử bạn đang dựa trên việc thuê nhà dựa trên URL, bạn sẽ thiết lập một máy chủ proxy trước các máy chủ thực sự của người thuê nhà. Công việc sẽ là xem URL và định tuyến đến quy trình chính xác dựa trên thông tin đó. Đây là một proxy nút rất đơn giản thành lập. Mỗi cá thể đối tượng thuê có thể là cùng một cơ sở mã, nhưng được khởi chạy với một cấu hình khác (cho họ biết chuỗi kết nối mongo nào sẽ sử dụng).

Điều này có nghĩa là bạn có thể thiết kế ứng dụng thực tế của mình như thể nó không có nhiều người thuê. Mỗi quy trình chỉ biết về một cơ sở dữ liệu mongo và không có logic nhiều đối tượng cần thiết. Nó cũng cho phép bạn dễ dàng phân chia lưu lượng truy cập sau này dựa trên tải. Nếu bạn cần chia nhỏ người thuê vì lý do hiệu suất, bạn có thể làm điều đó một cách minh bạch ở cấp proxy. Tất cả các DNS đều có thể giữ nguyên và bạn chỉ có thể di chuyển máy chủ chứa các phiên bản đang hoạt động ở hậu trường. Bạn thậm chí có thể cân bằng proxy các yêu cầu đối với người thuê giữa nhiều máy chủ.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb kéo tất cả phần tử từ mảng

  2. thay đổi kiểu mongodb thành mảng

  3. Cân bằng tải MongoDB trong nhiều phiên bản AWS

  4. giới hạn số lượng bộ sưu tập trong cơ sở dữ liệu

  5. MongoDb qua jndi