Kafka消息消費之的性能提升實踐
技術背景
從標題中,可以看到提升的難點在於消息要進行保序,使用單線程自然 是可以保序的,比如單條消息處理足夠快,比如1ms處理一條,那即使單線程,其處理性能也可以達到1000TPS,也許已經滿足你的業務要求,但一旦單條消息處理稍慢,則大量消息的處理則會將該性能弱點成倍擴大,成爲瓶頸。簡單做個數學題:
報文數量 | 單條處理耗時 | 總計耗時 |
---|---|---|
10K | 1ms | 10S |
10K | 60ms | 10min |
從標題中,可以看到提升的難點在於消息要進行保序,使用單線程自然 是可以保序的,比如單條消息處理足夠快,比如1ms處理一條,那即使單線程,其處理性能也可以達到1000TPS,也許已經滿足你的業務要求,但一旦單條消息處理稍慢,則大量消息的處理則會將該性能弱點成倍擴大,成爲瓶頸。簡單做個數學題:
報文數量 | 單條處理耗時 | 總計耗時 |
---|---|---|
10K | 1ms | 10S |
10K | 60ms | 10min |