Details
-
New Feature
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
Description
I will contribute the SDK of C + +, which is currently being sorted out. Without changing the server-side interaction protocol, the semantics will be the same as the Java implementation.
Task
1.io thread management
2. Connection interface
3. Connection pool management
4.IO Buffer
5.Future/Promise support
6.Codec interface and TubeMQ interactive encoding
7. Functionalization of service interface parameter settings
8.Future service interface
9.Master implementation, metadata acquisition and reading interface
10. Consumer realization
11. Producer Realization
12.Client configuration
13. Producer API package
14. Consumer API package
Plan
Phase 1 (Available)-Implement basic functions and ensure unit test coverage
RPC support
Message consumption (pull mode)
Write message (synchronous)
Connection pool implementation-automatic reconnection of broken links, automatic recovery of idle connections, shared according to sessionFactory
Test case and specification construction-
Phase 2 (Practical)-Realize the features of each function and be able to adapt to a certain level of pressure measurement
Asynchronous production
Authentication and authentication && Prevent production and consumption around the master
Accurately specify offset partition consumption
Frequency control
Consumption of multiple topics in a single group
Server filter consumption
Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, realizing the latest function points according to priority
Inactive for more than specified minutes, mainly at the production end, such as 3 minutes
Automatically shield the dead pixels, detect the dead pixels through the algorithm, and automatically shield the fault Broker's data transmission
TLS
push consumption
Featrue
1.rpc development
Pre-research--asio development
Connection interface
Connection pool management-connection reuse, automatic reconnection of broken links, automatic recovery of idle connections, sharing according to sessionFactory
Streaming request support-based on serialNo
Future/Promise interface
Codec interface
Log
Config
Buffer
2. Service interface development
API service interface, such as heartbeat package variable function
Request Future/Promise function encapsulation
Config: client, consumer, producer, Master, rpc
Message id
3.Client
turn stop
Configuration input
Consumer API
Producer API
4.Master
Authentication
Prevent the production and consumption around the Master: get the token from the Master and update it to the local metadata
Metadata management: Topic, Group, Master
Master Heartbeat
5. Consumer
User interface
Heartbeat support
pull consumption
Consumption of multiple topics in a single group
Authentication
Precisely specify offset partition consumption
6. Producer
User interface
Simultaneous production
Asynchronous production
Load balancing algorithm: polling
Load balancing algorithm: hash
7. Advanced features
Master disconnects and reconnects, traversing dns to obtain Master host IP
Limiting
Effectively-Once
tls:asio+openssl
Filter consumption
Inactive for more than the specified minutes, mainly at the production end, for example 3 minutes
Fuse: Automatically shield the dead spots, detect the dead spots through the algorithm, automatically shield the fault Broker's data transmission
Reporting time-consuming, failure; static weight (number of partitions), dynamic weight
Connection pool management-automatic recovery of idle connections, shared according to sessionFactory
Push consumptio