测试环境为单台公网服务器上行下行带宽有限的情况下。如果同时有大量的consumer消费消息或者producer生产消息的话。势必会网络拥堵,网络不稳定。
请问在网络环境不稳定(比如突然有大量客户端数据会导致网络拥堵)该怎么设置consumer、producer、broker的参数才能确保数据不丢失不重复。
当然这种情况下消息到的到来肯定会延时。但是我目前的需求是消息可以延时到达。但不能丢失或者重复。晚点到没关系,只要消息能稳定收到就行。
当然这种延时也不是无限期延时的容忍度,比如超过1分钟消息还没有发送或者接收成功。可以抛出一个错误提示之类的(因为这种情况下说明网络环境的确太差了,可以对用户进行提示用户),不知道我的这些需求具体都需要设置哪些相关参数才可以解决。
当然除了相关参数设置,程序方面还需要我做哪些处理。
目前我用的是librdkafka,最好能给出基于c/c++的相关程序代码。