好的,所以我对消息队列感兴趣。我真的已经对这个主题进行了大量研究。我阅读了“programming windows azure”(关于 Azure 队列),阅读了大量有关 Azure 服务总线的教程和信息,还观看了有关消息传递模式的第 9 频道视频等。
但我只是不明白:在现实生活场景中如何使用它?所有示例都只是将单个字符串或带有一些数据的对象放入队列中,然后从“另一端”的队列中读取它。但是你怎么知道如何处理这些数据?例如:我可以尝试将一个客户、一个订单和一个地址保存到数据库中,所以我将这 3 个对象放在一个队列中以读取另一端并将它们放入我的数据库中。我怎么知道如何处理这些对象?
我有一些问题:
- 将什么样的数据放入队列中。可能是一个命令,它在读取时执行,所以队列中的所有内容都具有相同的接口,并且对象本身知道要做什么?
- 在哪一层之间使用队列?我正在考虑将内容放入服务层的队列中(在验证之后)并在数据访问层中读取它,以便将其放入数据库中。
- 一个人应该排多少队?你想连接的层之间只有一个队列,或者它们之间有多个队列(可能出于不同的目的,虽然我想不出任何)?
- 这种松散耦合形式允许我们对请求进行排队,以便稍后处理它们(例如:当我们想重新启动数据库时)。这很酷,但是如果我想读取数据而不是写入数据怎么办?那么数据库应该是在线的。我应该通过队列读取数据,还是我的服务层可以从数据访问层提取数据并将其传递给表示层?
我认为这是我脑海中嗡嗡作响的大部分问题。我希望任何人都可以为我解决这个问题。