Releases: archfish/pulsar_sdk
Releases · archfish/pulsar_sdk
Add admin API
bug fix and log optimization
breaking change:
real_producer was return an producer now passing a block and return yield result.
def real_producer(msg, &block)
if @producers.size.zero?
PulsarSdk.logger.warn(__method__){"There is no available producer for topic: 「#{@topic}」, skipping action!"}
return
end
route_index = msg.nil? ? 0 : @router.route(msg.key, @producers.size)
yield @producers[route_index]
end
use case
producer.real_producer(p_msg) do |producer_|
producer_.execute(base_cmd, p_msg)
producer_.receipt
end
bug fix and log optimization
- some breaking change introduce to basic api, see examples for detail
- ruby logger integrated
- fix some bug
add connection pool
- auto set request_id, producer_id, consumer_id, sequence_id
- add connection pool
- support topic lookup
- support partitioned topic
Basic features available
- Connection establishment
- Producer
- Message Delivery
- Delayed Message Delivery
- Get SendReceipt
- Close Producer
- Consumer
- Flow control
- Ack
- Message Redelivery
- Keep alive
- handle ping command
- Service discovery
- Topic lookup
- Partitioned topics discovery
- Thread safe