在一个队列中发送消息,可以通过为消息增加类型,从而保证良好的扩展性。
设计思路
假设消息格式为 json,有两个字段:
- type : 消息类型,一般为数字
- content : 消息内容,string 类型,内部是json 格式数据。
要点:
- type 相同的消息,content 中的 json 数据结构是相同的;
- type 不同的消息,content 中的 json 数据结构可以不相同。
业务代码中根据 type 做相应的处理即可。
消息示例
type 1 是某充值业务的充值成功消息:
{
"type": 1,
"content": "{\"user_id\": 1231391391, \"biz_id\":\"123\", \"amount\": 100}"
}
type 2 是用户登录操作的消息:
{
"type": 2,
"content": "{\"user_id\": 1231391391, \"login_time\":\"2020-12-12 19:00:00\"}"
}