原创 Event Sourcing 和 CQRS落地(七):服務優化

在本系列的上一篇文章中,主要介紹瞭如何實現可靠消息,本文主要介紹如何進行服務優化。 服務優化 失敗消息的補償機制 由於消息存在發送失敗的情況,比如 broker 臨時下線或者不可用了,儘管這種情況很少,我們最好做一個機制可以定期或者手動

原创 Event Sourcing 和 CQRS落地(六):實現可靠消息

在本系列的上一篇文章中,作者介紹了Spring Cloud 提供的消息中間件的抽象 Spring Cloud Stream 的優化方法,本文將主要介紹如何實現可靠消息。 實現可靠消息 什麼是可靠消息 微服務盛行的時代下,消息成爲了不可缺

原创 Event Sourcing 和 CQRS落地(六):Spring-Cloud-Stream 優化

本系列的上一篇文章重點介紹了Axon實現,本文將主要介紹Spring Cloud 提供的消息中間件的抽象Spring Cloud Stream的優化方法。 Spring Cloud Stream 優化 問題 Spring Cloud S

原创 Event Sourcing和CQRS落地(四):深入使用-Axon

在本系列的前一篇文章中,我們介紹了CQRS實現,以數據庫爲例使用JPA去做 View的ORM,本文將重點介紹Axon實現。 深入使用Axon 實現 snapshot 在前面文章中,我們略微涉及了一些 snapshot 的概念,其實這個概

原创 Event Sourcing和CQRS落地(三):CQRS實現

在本系列的第二篇文章中,主要介紹瞭如何實現一個將增刪改操作使用 EventSoucing取代的例子,本文將以數據庫爲例介紹CQRS實現。 實現 CQRS 在實現了 EventSoucing 之後,亟待解決的問題是查詢了,理論上同一 Se

原创 Event Sourcing 和 CQRS落地(二):Event-Sourcing 實現

在本系列的第一篇文章,簡要介紹了Event Sourcing的基本原理以及如何實現UID Generator,本文將展開介紹Event-Sourcing實現。 實現Event Soucing 在瞭解相關基礎之後,這裏會以最簡單的方式實現

原创 Event Sourcing 和 CQRS落地(一):UID-Generator 實現

Event Sourcing 簡單來說就是記錄對象的每個事件而不是記錄對象的最新狀態,比如新建、修改等,只記錄事件內容,當需要最新的狀態的時,通過堆疊事件將最新的狀態計算出來。那麼這種模式查詢的時候性能會變的非常差,這個時候就涉及到了 C