在我们系统中有一个订单催付的场景,我们的客户在天猫下的订单,淘宝会及时将订单推送给我们,如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒。
但是,tmall商家对我们来说,肯定是要分大客户和小客户的,比如像苹果,小米这样大商家,理所当然,他们的订单必须得到优先处理。
采用rabbitmq进行改造和优化,如果发现是大客户的订单给一个相对比较高的优先级,否则就是采用默认优先级。
Map arguments = new HashMap<>();//官方允许是0-255之间,此处设置为10,允许优先级范围为1-10,不要设置过大,浪费CPU与内存arguments.put("x-max-priority",10);channel.queueDeclare(QUEUE_NAME,false,false,false,arguments);
AMQP.BasicProperties properties = new AMQP.BasicProperties().builder().priority(5).build();
channel.basicPublish("",QUEUE_NAME,properties,message.getBytes());