使用EventStoreDB實現事件溯源的Python開源專案
這是 Python 事件源庫的擴充套件包, 它為[url=https://github.com/pyeventsourcing/eventsourcing]EventStoreDB[/url]提供了一個永續性模組。它使用esdbclient 包透過其 gRPC 介面與 EventStoreDB 進行通訊。
以通常的方式定義聚合和應用。請注意,EventStoreDB中的聚合序列從位置0開始,所以要在你的聚合類上相應地設定INITIAL_VERSION。
from eventsourcing.application import Application from eventsourcing.domain import Aggregate, event class TrainingSchool(Application): def register(self, name): dog = Dog(name) self.save(dog) return dog.id def add_trick(self, dog_id, trick): dog = self.repository.get(dog_id) dog.add_trick(trick) self.save(dog) def get_dog(self, dog_id): dog = self.repository.get(dog_id) return {'name': dog.name, 'tricks': list(dog.tricks)} class Dog(Aggregate): INITIAL_VERSION = 0 @event('Registered') def __init__(self, name): self.name = name self.tricks = [] @event('TrickAdded') def add_trick(self, trick): self.tricks.append(trick) |
詳細點選標題
相關文章
- 使用EventStoreDB實現事件溯源的Java開源專案事件Java
- .NET Core中的事件溯源開源專案事件
- Spring Boot和EventStoreDB事件溯源案例Spring Boot事件
- Python的事件溯源開源庫Python事件
- 使用Kafka實現事件溯源Kafka事件
- 使用Datomic實現沒有麻煩的事件溯源事件
- 使用AsyncAPI規範簡潔實現CQRS事件溯源案例API事件
- 使用Spring Boot實現微服務架構的開源專案Spring Boot微服務架構
- Rust中實現使用者上傳功能的開源專案Rust
- 預研canvas實現Excel開源專案CanvasExcel
- 設計模式Java實現開源專案設計模式Java
- SAP Spartacus 開源專案裡 activeCartId$ 的實現
- Chronicle事件溯源的最佳實踐事件
- JavaPoet 開源專案使用Java
- eBay透過事件溯源實現持續交付事件
- 白嫖GitHub Action實現開源專案CICDGithub
- 攜程開源專案——Apollo的設計與實現
- 使用Redis/RabbitMQ/EventStore實現事件溯源CQRS微服務應用 - Aram KoukiaRedisMQ事件微服務
- 為什麼我們放棄使用Kafka Streams實現全部的事件溯源?-MateuszKafka事件
- 使用Vitamio開源專案在Android實現播放網路視訊Android
- Vue開源專案使用探索Vue
- 【.Net】使用委託實現被引用的專案向上級專案的訊息傳遞事件事件
- GitHub實用開源專案Github
- GitHub - soooban/AxonDemo: 使用Axon/Spring Cloud實現事件溯源和CQRS案例GithubSpringCloud事件
- Python爬蟲開源專案合集Python爬蟲
- 以正確的方式開源 Python 專案Python
- 如何正確使用開源專案?
- 【開源系列】專案開源實戰記錄-序
- iOS專案開發實戰——使用CoreLocation實現定位iOS
- 如何為事件溯源專案規劃技術堆疊 -Keith Mifsud事件
- 請教各位:專案管理的開源解決方案如何實現?專案管理
- 事件協作和事件溯源事件
- 事件流與事件溯源事件
- 開源的網易雲音樂API專案都是怎麼實現的?API
- PHP 事件溯源PHP事件
- 20 個頂尖的 Python 機器學習開源專案Python機器學習
- 國內最火的開源專案 —— Python 篇Python
- Python培訓教程分享:有哪些值得使用的爬蟲開源專案?Python爬蟲