事件溯源教程

     

数据序列化工具比较:Avro vs Protobuf

1385 11K

两种流行的数据序列化系统是Google 的 Protocol Buffers (Protobuf)和Apache 的 Avro。虽然 Protobuf 和 A​​vro 都有各自的优点和缺点,但开发人.

typeid:受 Stripe ID 启发的类型安全、K-sortable、全局唯一标识符

603

TypeIDs是UUIDv7的一个现代的、类型安全的扩展。TypeIDs被规范地编码为小写的字符串,由三部分组成: 一个类型前缀 一个下划线'_'分隔符 一个128位UUIDv7编码为base32的2.

事件溯源中的乐观锁

406 2K

并发控制是在多用户环境中管理和协调对共享资源的并发访问的过程。在数据库和分布式系统的上下文中,并发控制旨在确保数据的一致性,同时允许多个事务并发执行。当不同的事务同时访问和修改相同的数据时,这尤其具有.

Temporal让Saga模式变得简单

628 9K

如果你想知道Saga模式是否适合你的场景,问问你自己:你的逻辑是否涉及多个步骤,其中一些步骤跨越机器、服务、分片或数据库,对于这些步骤,部分执行是不可取的?事实证明,这正是sagas的用武之地。也许你.

为什么要使用eventSourcing?

657 2K

eventSourcing将事件建立为系统中唯一的事实来源。通过采用动态一致性边界DCB,eventSourcing提供了高度灵活的事件使用,允许随着时间的推移出现最佳的设计。事件流系统事件流系统通常.

fraktalio/fmodel-spring-demo:Spring + kotlin DDD示例源码

826 1 2K

这个项目正在使用Fmodel - Kotlin,多平台库。特点: 使用 Kotlin 编程语言启用函数式、代数和反应域建模。 受到 DDD、EventSourcing 和函数式编程社区的启发,但在惯用.

数据工程中的三种数据创建方式比较

600 1 6K

所有成功的数据驱动组织都有一个共同点;他们有一个高质量和高效的数据创建过程。数据创建通常是数据团队成功与失败之间的区别。数据创建的架构模式在数据创建中,有三种类型的架构模式:事件溯源EventSour.

Bitcask - 日志结构的快速 KV 存储

881 2K

Bitcask 是最高效的嵌入式键值 (KV) 数据库之一,旨在处理生产级流量。向世界介绍 Bitcask 的论文称它是一个用于快速键/值数据的日志结构 哈希表,用更简单的语言来说,这意味着数据将按顺.

分布式数据库tigerbeetle设计灵感来自LMAX架构

968 4K

这份文档记录了分布式财务会计数据库 TigerBeetle 背后的设计决策:我们希望其他人可以轻松构建下一代金融服务和应用程序,而不必从头开始拼凑会计或分类账记录系统。TigerBeetle 采用最新.

使用事务发件箱进行可靠的事件调度

933 3K
在系统中使用事件很棒,但是您如何确定您是否可靠地调度了事件?事件的传输需要可靠地完成,同时保持整个系统的一致性,无论是最终的还是立即的。在典型的设置中,数据库用于存储信息,队列用于在进程和系统之间发送.

事件驱动架构模式总结 - serverlessland

1087

在构建事件驱动架构时,您会发现自己使用了许多不同的模式,而不仅仅是一种。当您深入研究 EDA 应用程序时,您会看到混合了点对点消息传递、发布/订阅、编排、编排,也许还有一些事件源等等……我相信结合使用.

Python中的发件箱模式源码

935 11K

微服务/模块之间最常用的通信方式之一是通过事件进行异步通信。实施可靠的消息传递有时可能具有挑战性。在今天的文章中,我将向您介绍如何实现发件箱模式以保证事件的传递和可靠的消息传递。发件箱模式(事务性发件.

数据库存储引擎如何保证事务 ACID?

882

数据库存储引擎会在事务提交后立即将更改写入磁盘吗?让我们来探讨一下:WAL(Write Ahead Log:预写日志): 存储引擎用来提供原子性A和持久性D(ACID )的一种日志。出于性能原因,每当.

集合set复制:通过锁定广播实现无全序的容错算法

857 2K

虽然状态机复制是实现任何理想功能的黄金标准,但它需要对所有交易 (事件)进行完全的总排序(全序),在某些情况下,这种开销是不必要的。事实证明,在许多自然用例中,特别是规范的简单代币支付用例,不需要全序.

什么是函数式数据工程?

1208 1 6K

数据建模一直是Data LinkedIn的热门话题之一。Hadoop 提出了schema-on-read策略,导致了我们之前所知的数据建模技术的中断。我们经历了一个完整的周期,即“读取模式”导致了数据.

如何学习理解设计模式?

1209 1

神奇的是,设计模式没有什么神奇的。许多被认为是复杂的模式在表面下反而显得很简单,甚至是容易的。 以事件源为例:简而言之,你可以在流的末端追加事件,然后从流中读取所有事件。所以要追加关于对象或流的新的业.

thalo-rs/thalo:wasm 的事件溯源运行时

1310 3K

Thalo 是用于构建分布式系统的事件源运行时。[url=https://wasmtime.dev/]它建立在组件的Wasmtime[/url]之上,并使用消息数据库作为消息存储。聚合体由任何支持的编.

事件溯源是否会超越数据库? - memphis

1413 1 4K

事件源(事件溯源)并不是一个新词,如果你在技术领域工作,你一定接触过事件源。事件源是一个强大的工具,被许多大型组织作为他们的数据库架构设计。它有能力扩大规模并服务于现代数据行业的需求。在这篇文章中,我.

用Rust编写的数据库GreptimeDB现开源

2733 1 2K

GreptimeDB用于时间序列数据的多租户、分布式和云原生实时处理系统,是一个优秀的数据处理系统,可让您实时从时间序列中获取价值。与TimescaleDb 类似,Timescale 也将 Rust .

事件溯源CQRS不必引入最终一致性 - jamesmh

1803 1 3K
事件溯源经常会被误解。这包括自动使用事件溯源意味着您必须在系统中各处引入最终一致性的想法。有多种技术可以处理最终一致性。但是,也有一些技术和模式可以完全消除最终的一致性!在本文中,我想重点介绍一些使用.

Postgres事件溯源的存储表设计 - DEV

1911 1 9K

任何基础设施的关键部分之一是存储。与传统的关系模型相比,将事件存储在日志中非常简单。但是,当您体验到成功产品的好运时,即使是日志式存储也必须不断发展才能跟上。幼稚的实现当我开始使用事件溯源时,我想尽可.

使用Redis实现简单的事件驱动架构 [DDD、事件溯源和一致性哈希] - core27

1744 2 14K

用 Redis 模拟 Kafka实现事件驱动架构,Apache Kafka 已成为大多数技术栈中的主流组件。使用 Kafka 的好处包括确保事件中的因果顺序,同时保持并行性,通过在服务器之间快速复制分.

Xe/olin:Webassembly + 事件溯源

796

Olin 就像 WebAssembly 的 JVM。它用一组函数包装 WebAssembly 以访问外部世界,并跟踪诸如使用了多少指令、进行了多少系统调用以及使用了多少内存之类的事情。这有助于分析代码.

cpressey/Facts-about-State-Machines:我认为状态机被低估了

1110 10K

我认为状态机经常被误解和应用不足:这就是我写这篇文章的原因。这个事实列表的目的不是教你什么是状态机或如何使用它们;还有很多其他资源。相反,这里的目标是激发它们的使用并突出它们经常被忽视但仍然相关的事情.

什么是数据沿袭、数据世系(data lineage)?

2566 2K

在 Back Market 的数据工程实习期间,我专注于为我们的内部数据消费者设计和集成数据沿袭平台。本文收集了我学到的关于如何快速识别不同类型的数据沿袭(数据世系data lineage)的关键经验.

thalo: Rust的事件溯源套件

1645 1

Thalo 是一个基于以下模式构建大型系统的事件溯源框架: 事件溯源 CQRS 事件驱动 事务发件箱 DDD 它被设计成模块化的,带有实现大多数功能的附加crates 。由于 Rust 是一种比大多数.

如何用事件总线实现数据合约?- mehdio

852 2K

如果您从事数据工作,那么您很有可能多次遇到这个问题:数据是错误的,您不知道为什么。数据上游似乎有问题,但是您的内部同事都不知道为什么,我们该怎么办?我们应该联系谁?由于数据不是一等公民,数据团队大多开.

Homepoint公司使用Kafka改进其单体数据库架构

1633 1 2K
Homepoint 是一家位于美国的大型抵押贷款批发商和贷方。Homepoint 的软件平台团队需要找到数据库自动化解决方案并改进其单体数据库架构,以提高质量和更快地响应客户。该公司原来使用其贷款发放.

基于Kafka的六种事件驱动的微服务架构模式 -Wix

1683 1 12K
在过去的一年里,我一直是负责Wix的事件驱动消息基础设施(基于Kafka之上)的数据流团队的一员。该基础设施被 1400 多个微服务使用。在此期间,我已经实现或目睹了事件驱动消息传递设计的几个关键模式.

以事件源方式构建事件驱动系统 - Jayanth

1274 9K

首先了解业务逻辑可以建模为事件驱动的状态机: 状态机——状态机是一种数学抽象,用于设计基于行为模型的算法。状态机读取一组输入并根据这些输入更改为不同的状态。 状态— 状态是对等待执行转换的系统状态的描.