apache / apache/pulsar-client-cpp

[feature request] C++ and Python client support consumer memory limits.

Đang mở
#93 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
71
Fork
90
Merge trung bình
2 giờ 33 phút
Pull request đã merge (30 ngày)
3

Mô tả

### Search before asking

- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.

### Motivation

[PIP-74](https://github.com/apache/pulsar/wiki/PIP-74%3A-Pulsar-client-memory-limits)

C++ client consumers have not implemented memory limits yet.

### Solution

There are several key points to achieving this feature.
1. Reconstructing the consumer structure.
- https://github.com/apache/pulsar/pull/16969
- Abstract `ConsumerBase`, put together some common logic.
2. Refactoring single-consumer and MultiTopicConsumer transports type.
- In the current implementation of C++, messages are sent to multi-topic consumers by blocking queue + listener, which is an old historical implementation. If you want to achieve memory limits, you need to do the same as the current java implementation, let `MuiltiTopicConsumer` take the initiative to control the message.

### Alternatives

Here's an imperfect draft: https://github.com/apache/pulsar/pull/16933

### Anything else?

_No response_

### Are you willing to submit a PR?

- [x] I'm willing to submit a PR!

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với PIP-74 và các thay đổi đối với ConsumerBase và MultiTopicConsumer được mô tả trong PR 16969, sau đó so sánh với bản nháp chưa hoàn thiện trong PR 16933. Được xem là hoàn thành khi việc kiểm soát giới hạn bộ nhớ của consumer cho các client C++ và Python được yêu cầu, bao gồm cả đường đi MultiTopicConsumer, đã được định nghĩa và triển khai.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp, python
Lĩnh vực
backend-api-design, distributed-systems
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.