我們目前正在將Azure事件中心視爲一種將郵件分派到後臺處理器的機制。目前正在使用基於隊列的系統。Azure事件中心 - 具有SQL檢查點的自定義使用者
大多數處理器正在將數據寫入SQL Server數據庫,並且寫入操作被封裝在事務中。
事件集線器被定位爲在-至少一次通信信道,因此重複的消息應可預期的。 EventProcessorHost
是讀取端的推薦API,它使用Azure Blob存儲自動進行租賃管理和檢查點設置。
但我們有一個想法,對於一些最關鍵的處理器,實現使用同一數據庫內SQL Server表檢查點自己,寫處理器的相同事務內部檢查點。這應該在需要時爲我們提供一次交貨的有力保證。
忽略租賃管理,現在(只是運行每個分區1個處理器),是基於SQL的檢查點是一個好主意?除了需要在較低級別的API上工作並自己處理檢查點之外,是否還有其他缺點?
感謝yu Fred。如果我實現了這個接口,我將能夠重用EventProcessorHost的其他部分嗎?或者自定義代碼有什麼好處?任何相關樣本在線? – Mikhail