Feature Idea : Support Read Replicas
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript, node.js, postgresql
Hướng nghiên cứu
Bắt đầu bằng cách xem xét các API constructor, connect và query của pg-pool, sau đó kiểm tra cách việc lựa chọn client và quản lý kết nối hiện đang hoạt động. Xác định cấu hình read-replica được hỗ trợ và hành vi định tuyến đọc/ghi, bao gồm việc bên gọi có truyền isWrite hay các truy vấn được phân tích; công việc được xem là hoàn tất khi cơ chế pooling giữa nhiều cluster hoạt động mà không làm hỏng cách sử dụng một cluster hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
node-postgres handles connection pooling seemlessly with a single cluster
Although it doesn't have support for multi cluster connection management
This will be useful in production deployments having multiple read replicas with a single master cluster used with write operations
Idea :
Allow a list of read clusters to be specified with pg-pool
with pg-pool handling connection management with multi-clusters automatically
Implementation Approach :
pg-pool has a constructor accepting a list of endpoints for read replicas , primary cluster ( used with write )
Internally A MultiClient Pool Manager will maintain the list of clients with public methods for picking a client for read or write
Client Pick Strategy For Read :
MultiClientPool will pick a cluster which has an idle connection if available , else it will resolve to creating a new connection by picking the one with min active connections
pg-pool has connect , query methods used by end clients , clients can have an option to specify an operation as read or write
Ex : through a parameter isWrite ,
pg-pool passes the parameter to MultiClientPool to pick a cluster
Alternative Approach to read-write detection
- Implement a parser to auto identify a query as read or write
For Projects
It simplifies scaling read heavy workloads through usage of multi clusters
- Ngôn ngữ chính
- JavaScript
- Star
- 13.2k
- Fork
- 1.4k
- Merge trung bình
- 6 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 6
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của brianc/node-postgres
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
brianc/node-postgres#3770 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
brianc/node-postgres#3716 · 1 bình luận ·
-
# remove bring your own promise Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
brianc/node-postgres#3631 · 1 bình luận ·
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 62/100
brianc/node-postgres#2857 ·
-
can't view docs for old versions Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
brianc/node-postgres#2433 ·
Tất cả issue của brianc/node-postgres
Issue tương tự
-
Update HugeIcons library Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
antfu-collective/icones#398 ·
-
ECmail.com Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
wesbos/burner-email-providers#554 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
radiantearth/stac-browser#1023 ·
-
HMR stops working Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
components-web-app/docs#92 ·