我正在开发一个云应用程序,它索引大量文档(使用 lucene),并托管一个 wcf 服务来搜索它。我有3个角色:
- 我是托管 WCF 服务的 Web 角色,并将索引的副本保存在内存中。
- 我用于管理的网络角色(更新索引)。
- 一个工作角色,它正在轮询服务总线,以获取更新消息。
更新过程:
- 登录到 Admin 网站,然后按下按钮。管理员 webrole 将更新消息放入队列,worker 角色收到此消息,遍历文档源(它们也在线)并开始更新。
我想每周更新一次或两次索引,因此工作角色将消息队列池化很多时间而没有结果(即使我在 thread.sleep 中设置了很大的睡眠时间),而且我们必须为每一次付费交易。
你认为呢?在辅助角色中托管 WCF 服务以接收更新消息,而不是不必要地(大部分)轮询消息队列会更好吗?
谢谢你的帮助!
吨