RocketMQ——其他注意事项

1 消息过滤的方式

1、简单消息过滤。订阅时指定topic下面tags;

2、高级消息过滤。

2.1)Broker所在的机器会启动多个FilterServer过滤进程;

2.2)Consumer启动后,会向FilterServer上传一个过滤的Java类;

2.3)Consumer从FilterServer拉消息,FilterServer将请求转发给Broker,FilterServer从Broker收到消息后,按照Consumer上传的java过滤程序做过滤,过滤完成后返回给Consumer。

这两种方式的总结:

1)使用CPU资源来换取网卡流量资源;

2)FilterServer与Broker部署在同一台机器,数据通过本地回环通信,不走网卡;

3)一台Broker部署多个FilterServer,充分利用CPU资源,因为单个JVM难以全面利用高配的物理机CPU资源;

4)因为过滤代码使用Java编写,应用几乎可以做任意形式的服务器端消息过滤,例如通过Messgae Header进行过滤,甚至可以按照Message Body进行过滤;

5)使用Java语言进行作为过滤表达式是一个双刃剑,方便了应用的过滤操作,但是带来了服务器端的安全风险。需要应用来保证过滤代码安全,例如在过滤程序中尽可能不做申请大内存,创建线程等操作,避免Broker服务器发生资源泄露。

2 客户端寻找NameServer地址的方式

1、代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值