7

Tôi có nhiều máy chủ CouchDB tôi muốn giữ đồng bộ với nhau và tôi sử dụng các máy chủ này để chia sẻ các tệp lớn (ví dụ: 100 MB). Để giữ chúng được đồng bộ hóa, tôi có mỗi cá thể CouchDB thực hiện sao chép kéo liên tục từ mỗi cá thể khác.Sao chép song song/dự phòng trong CouchDB

Dưới đây là một ví dụ: Tôi có ba CouchDB máy chủ A, B, & C, tất cả đều có lặp kéo liên tục với nhau, như vậy:

------- <------------- ------- 
| A | -------------> | B | 
-------    ------- 
^|     |^
    | |     | | 
    | V     | | 
------- <---------------- | 
| C | ------------------- 
------- 

người tải lên một tài liệu đến máy chủ A với Tệp đính kèm 500MB. B và C đều bắt đầu sao chép các tài liệu từ A và B kết thúc sự sao chép trước khi C làm:

------- doc   ------- 
| A |--------------->| B | 
-------    ------- 
    | 
    | doc 
    V 
------- 
| C | 
------- 

Câu hỏi của tôi là, sẽ C sau đó bắt đầu sao chép các tài liệu tương tự từ B (vì C cũng có một liên tục kéo nhân rộng từ B), trong khi vẫn đang chuyển tài liệu từ A?

-------    ------- 
| A |    | B | 
-------    ------- 
    |   doc   | 
doc| |------------------ 
    | | 
    V V 
    ------- 
    | C | 
    -------       

tôi sẽ đoán đây sẽ xảy ra, vì AFAIK, CouchDB sao chép không thực sự lưu trữ các tài liệu sao chép đến các mục tiêu (sử dụng _bulk_docs API) cho đến khi các văn bản (bao gồm cả file đính kèm) đã hoàn toàn lấy từ nguồn [1]. Tôi lo lắng về điều này xảy ra vì nó sẽ là dư thừa và lãng phí lớn băng thông.

[1] https://github.com/couchbaselabs/TouchDB-iOS/wiki/Replication-Algorithm

+0

Bạn đã xem BigCouch chưa sao chép chưa? Sẽ không phải làm điều đó bằng tay. – ryan1234

+0

Tôi đã xem BigCouch, tuy nhiên tôi đang tạo mạng ad-hoc di động với các thiết bị đến và đi. AFAIK, đối với BigCouch, bạn phải thiết lập mọi thứ tĩnh để phân cụm và sao chép. Nhưng cảm ơn đề nghị! –

+0

Tôi đang làm việc trên một dự án với BigCouch và thiết bị di động có thể kết nối với một cụm và nó hoạt động tuyệt vời. Ý tưởng là bạn đặt Couchbase Mobile (hoặc TouchDB) trên thiết bị di động và sau đó bạn có một cụm máy BigCouch phía sau bộ cân bằng tải. Các thiết bị kết nối và tham chiếu một cơ sở dữ liệu và dữ liệu được nhân rộng xuống. Nhưng có thể trường hợp sử dụng của bạn hơi khác một chút. – ryan1234

Trả lời

Các vấn đề liên quan