在没有阅读librdkafka的源码之前并不知道,这个库简直就是一个服务svr,而不是一个sdk。
很少有见到一个sdk,内部包含如此多的状态机(尤其是消费者组的状态维护)。
最明显的几个特点:
1 服务分层做的不错。svr层,broker层,transport层,三层结构清晰。
2 每个层之间不是直接调用,而是通过内部队列的入队列和callback。不得不说,这样的确给代码阅读带来困难。
在没有阅读librdkafka的源码之前并不知道,这个库简直就是一个服务svr,而不是一个sdk。
很少有见到一个sdk,内部包含如此多的状态机(尤其是消费者组的状态维护)。
最明显的几个特点:
1 服务分层做的不错。svr层,broker层,transport层,三层结构清晰。
2 每个层之间不是直接调用,而是通过内部队列的入队列和callback。不得不说,这样的确给代码阅读带来困难。