2013-09-23 96 views
0

我希望每次將新課程添加到lessons表中時,都會向該級別的所有學生髮送通知。假設我在五年級有10,000名學生,這意味着在notifications表中有10,000個插入操作,這是一項巨大的負擔。MYSQL向多個用戶發送通知

有關如何向用戶發送通知的更好的主意,知道用戶只能看到通知ONCE。

+2

如果10,000 db操作對您的db來說是一個巨大的負載,那麼我建議升級您的db和/或db服務器。對於運行一個體面的關係數據庫系統的現代計算機,10,000個查詢是** NOTHING **。 –

+0

@MarcB我只是假設,如何約1,000,000?或者更多?我正在尋找一個更好的辦法來處理這種情況。 –

+0

您可以查看雲解決方案,例如http://aws.amazon.com/sqs/ – jancha

回答

1

看來,通知過程可以異步。

我建議爲此場景開發一個單獨的消息隊列體系結構。程序會加載新添加的數據並將它們放入隊列中,然後另一個進程可以讀取隊列並(例如發送電子郵件給用戶)。您可以添加更多的隊列使用者來管理更多龐大的數據。 當然,您將需要一個MQ服務器。

要獲得異步開發的填充,請參閱http://www.rabbitmq.com/getstarted.html,其中有很好的Rabbit MQ示例(Rabbit MQ是開源的Java基本消息傳遞服務)。