Kết nối MongoDB qua SRV record

Bizfly Cloud Database là dịch vụ cung cấp dịch vụ cơ sở dữ liệu trên nền tảng điện toán đám mây giúp người dùng, doanh nghiệp triển khai một giải pháp quản trị dữ liệu hiệu quả, đảm bảo khả năng khôi phục toàn vẹn dữ liệu trong các tình huống sự cố thảm họa. Đồng thời thực hiện giám sát thông tin liên quan đến hệ quan trị cơ sở dữ liệu của người dùng, tự động điều chỉnh khả năng lưu trữ dữ liệu theo nhu cầu sử dụng tài nguyên của hệ quản trị cơ sở dữ liệu.

Bizfly Cloud Database là dịch vụ miễn phí cung cấp bởi Bizfly Cloud trong thời gian Beta và dùng thử. Các nội dung liên quan đến chi phí sử dụng chỉ mang tính chất tham khảo.


Trong MongoDB, SRV record được sử dụng để xác định các endpoint cho hệ thống replica set hoặc một cụm MongoDB. SRV record chứa thông tin về domain, port và các thông số khác liên quan đến cấu hình kết nối MongoDB. SRV record cho phép ứng dụng MongoDB tìm kiếm và kết nối đến các node trong replica set hoặc cụm MongoDB một cách tự động và linh hoạt. Hiện tại dịch vụ Cloud Database của Bizfly Cloud đã cung cấp tính năng kết nối với MongoDB qua SRV record giúp cho khách hàng có thể dễ dàng xây dựng các mô hình database phù hợp với hệ thống.

Hướng dẫn kết nối

Truy cập giao diện database instance của mongodb

Untitled

Vào mục Thông tin kết nối, lấy thông tin kết nối tại dòng SRV Connection

Untitled

Hướng dẫn kiểm tra

Có thể test thêm về thành phần patroni qua tính năng failover qua đoạn code sau

from pymongo import MongoClient

# Connect to MongoDB using SRV record
client = MongoClient("mongodb+srv://USERNAME:PASSWORD@srv-BFC_Mongo-1b8dfff.dbaas.bfcplatform.vn/?ssl=false")

# Access a specific database
db = client['your_database']

# Access a specific collection
collection = db['your_collection']

# Perform operations on the collection
data = {'name': 'John', 'age': 30}
collection.insert_one(data)

# Query documents in the collection
result = collection.find({'name': 'John'})
for doc in result:
    print(doc)

Kết quả trả vể

{'_id': ObjectId('659619431769bd383d94980e'), 'name': 'John', 'age': 30}

Sau khi tắt primary node, secondary node được đẩy lên làm primary node và việc connect vẫn không bị gián đoạn

Untitled

Kết quả trả vể

{'_id': ObjectId('659619431769bd383d94980e'), 'name': 'John', 'age': 30}
{'_id': ObjectId('6596606405b3da45c1c3f21c'), 'name': 'John', 'age': 30}