#postgresql #event-sourcing #event-store #eventide

yanked messagedb

Postgres的微服务原生消息和事件存储

0.1.0 2022年12月12日

#36 in #postgre-sql

MIT/Apache

67KB
1K SLoC

消息数据库

Rust客户端,用于Postgres的微服务原生事件存储和消息存储

一个功能齐全的事件存储和消息存储,用于实现PostgreSQL的发布/订阅、事件溯源、消息传递和事件驱动的微服务应用程序。

有关更多信息,请参阅Message DB项目页面。 https://github.com/message-db/message-db

许可证

本项目根据MITApache-2.0许可证授权。

贡献

欢迎贡献! :baloon


lib.rs:

消息数据库

Rust客户端,用于Postgres的微服务原生事件存储和消息存储

一个功能齐全的事件存储和消息存储,用于实现PostgreSQL的发布/订阅、事件溯源、消息传递和事件驱动的微服务应用程序。

有关更多信息,请参阅Message DB项目页面。 https://github.com/message-db/message-db

示例

use message_db::database::{MessageStore, WriteMessageOpts};
use serde_json::json;

// Connect to MessageDb
let message_store = MessageStore::connect("postgres://postgres:password@localhost:5432/postgres").await?;

// Get last stream message
let last_message = MessageStore::get_last_stream_message(&message_store, "account-123", None).await?;

// Write message
let last_message = MessageStore::write_message(
    &message_store,
    "account-123",
    "AccountOpened",
    &json!({ "initial_balance": 0 }),
    &WriteMessageOpts::default(),
).await?;

依赖

~2–16MB
~202K SLoC