事件溯源教程

     

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

1286 9K

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

微服务使用EDA事件溯源遭遇的五个陷阱及应对办法 -Wix

2424 1 10K
事件驱动架构非常强大,非常适合分布式微服务环境。通过引入代理中介,事件驱动架构提供了解耦架构、更容易的可扩展性和更高程度的弹性。​上图请求回复(客户端-服务器)与事件流(发布-订阅)但与请求-回复客户.

使用Debezium、Kafka和Apache Pinot实现基于CDC的数据插入修改Upsert

1332 4K
如何构建流数据管道以捕获 MySQL 数据库更改并通过 Debezium 和 Kafka 将它们流式传输到 Apache Pinot?Upserting意味着如果记录不存在则将其插入数据库中,或者如果.

在微服务中使用事件溯源的六大原因 - Herath

3739 1 2K
从单体应用程序迁移时,微服务起着至关重要的作用。它们有助于提高应用程序的可扩展性、可管理性、敏捷性或交付速度。但是,使用微服务存在一些挑战,例如状态处理。作为开发人员,我们必须知道如何克服这些问题以最.

如何有效地组合您的业务逻辑 - Event-Driven.io

1291 1 18K
假设我们要实现购物车。我们有以下要求:客户只能在打开购物车后将产品添加到购物车中。在选择产品并将其添加到购物篮时,客户需要提供选择的数量。系统根据当前价目表计算产品价格。客户可以从购物车中移除具有给定.

oskardudycz/EventSourcing.JVM:JVM语言中事件溯源的示例和教程

867

事件溯源是一种设计模式,其中业务操作的结果存储为一系列事件。这是持久化数据的另一种方式。与仅保留最新版本的实体状态的面向状态的持久性相比,事件溯源将每个状态更改存储为单独的事件。谢谢你,没有业务数据丢.

Dewdrop:开源事件源框架

1310 2K

Dewdrop 是一个自以为是的、简单而强大的框架,用于在 Java 中实现事件溯源。Dewdrop 的想法是通过将所有复杂的事件读取、写入和编组深入到框架中,使您的团队能够专注于根据 Aggrega.

Java中的事件溯源简介:包含学习进度的练习工具包

998 2K

事件溯源被认为是一种复杂的模式。事实上,事件源是一个相当实用和直接的概念。它有助于建立更贴近业务的可预测的应用程序。如今,存储很便宜,而信息是无价的。在事件源中,没有数据会丢失。本工具包目的是为参与者.

Cheeper:《CQRS By Example》一书的参考代码开源实现

1113 1

命令-查询职责分离 (CQRS) 是一种架构风格,用于开发易于维护并提供高性能的应用程序。CQRS 基于六边形架构,其主要特征是将域模型拆分为读取和写入操作,以最大限度地提高语义、性能和可扩展性。双方.

rita:利用 NATS 实现以事件为中心和反应模式的工具包

967 2K

Rita 是一个构建在NATS之上的各种以事件为中心和反应式抽象的工具包。主要功能: 类型注册表 从字符串到类型的透明映射 支持标注类型、事件、状态、命令等。 事件存储eventstore JetS.

事件协作和事件溯源

1502 1 3K

虽然事件确实无处不在,但受欢迎程度的增长似乎导致术语准确性的丧失。Apache Kafka 成为“事件总线”,所有异步消息都被声明为事件,使用事件流被声明为 Event Sourcing,像这样模糊不.

使用EventStoreDB实现事件溯源的Python开源项目

1166

这是 Python 事件源库的扩展包, 它为[url=https://github.com/pyeventsourcing/eventsourcing]EventStoreDB[/url]提供了一个持.

使用EventStoreDB实现事件溯源的Java开源项目

1954 1 2K
EventStoreDB 是事件溯源的数据库。这个GitHub存储库提供了一个使用 EventStoreDB 作为事件存储的事件源系统示例。此示例使用受tech/uklon经验启发的高度简化的叫车领域.

使用TypeScript和nextjs实现基于CQRS的微服务的银行API源码

1185 1

基于领域驱动设计、CQRS 和事件溯源的简单银行 API:写了一个由两个微服务和一个 API 网关组成的银行账户 API 。我用 TypeScript 和 NestJS 实现了微服务。但是,使用Go编.

有史以来最长的Atlassian停机 - Gergely

802 3K

我们正处于Atlassian有史以来最长的一次中断中。近400家公司和5万至80万用户无法访问JIRA、Confluence、OpsGenie、JIRA状态页面和其他Atlassian云服务。这次中断.

Spring Boot和EventStoreDB事件溯源案例

1285 2

使用Spring Boot和EventStoreDB的Event Sourcing:案例展示了基本的事件追溯流程。它使用EventStoreDB进行事件存储,使用Spring Data JPA支持Po.

使用150行SQL创建PostgreSQL通用审计解决方案 - supabase

789 12K

数据审计是一个跟踪表内容随时间变化的系统。PostgreSQL 具有一组强大的功能,我们可以利用这些功能在 150 行 SQL 中创建通用审计解决方案。审计对于历史分析特别有用。为了证明这一点,设想你.

为什么我们放弃使用Kafka Streams实现全部的事件溯源?-Mateusz

682 2K

我们并不是说事件溯源总是一个糟糕的选择。这是一个真正强大的概念。但是,您应该警惕它可能给您的项目增加的复杂性。我们的看法是你不应该用它来解决所有类型的问题,而应该将它应用到选定的业务领域(它可能对所有.

事件溯源模式:分离事件的发生和捕获两种不同时间 - verraes

962 2K

在领域事件中,使用单独的时间戳来区分事件的发生时间和捕获时间。 问题一个领域事件通常有一个时间戳。一个常见的模式是让eventstore在事件被写入时添加时间戳。例如,可以有一个名为record_at.

比较Apache Kafka与各大云计算的分布式日志技术 - scottlogic

933 1 3K

Apache Kafka、Amazon Kinesis、Microsoft Event Hubs 和 Google Pub/Sub 等分布式日志技术在过去几年中已经成熟,并且在为某些用例移动数据时添加.

医疗数据的概念框架 - PICU

723
我们在临床实践中所做的一切都需要数据。基本上我们需要三件事的数据:确定患者的当前状态,即诊断。确定患者的预期状态,即预测。以及我们是否可以通过医疗干预改变患者的预期状态。导致观察到的状态,即结果。这些.

事件驱动系统中不同类型的事件 - frankdejonge

1542 1 5K
事件驱动系统有各种形状和大小。明显的共同点是;他们都使用事件来传达信息。这些事件有多种形式和大小,确定事件中的内容会对系统设计产生巨大影响。在这篇文章中,我想讨论三种不同类型的事件。我希望澄清这些类型.

Samsara:车队物流监控平台简介

1152

Samsara是一家建立连接传感器物联网平台的公司:类似亚马逊Alexa或Google Home,是一个床边的小盒子,可以用我的声音打开灯。从GPS、加速度计、温度计到计算机视觉、麦克风、红外线和振动.

东南亚最大消费App:大数据分析为什么大多数会失败?

2354 3 5K
东南亚最大消费app的商业智能副总裁的BI经验证明:没有业务领域深入挖掘,就得不到大数据分析带来的业绩提升,只会导致大数据杀熟敲诈。本帖由东南亚最大的超级应用程序之一Gojek的前商业智能BI高级副总.

Rust中的事件溯源 - ariseyhun

1164 1 4K

Rust 是一种与事件溯源艺术相结合的令人难以置信的语言。这篇博文的目的是介绍我一直在全职工作的一个名为Thalo的项目。它是一个 Rust 库,提供构建事件源系统所需的一切。目前,Thalo 提供:.

Occcurrent:JVM事件溯源工具库包

1293 1 2K

Occcurrent 是一个事件溯源库,它是一组用于 JVM 的事件溯源实用程序,由Johan Haleby创建。能够在不依赖Occurrent或任何其他库的情况下设计你的领域模型。你的领域模型可以用.

Cadence:驯服复杂流程的工作流引擎

2400 2 3K

Cadence是一个开源的无故障状态代码平台和工作流引擎,专为解决与第三方 API、内部服务和长期运行的业务流程进行复杂交互的挑战。Cadence 为使用需要容错的基于微服务的架构以及包含无数多步骤并.

谓词下推:计算和存储分开进行分析是低效的?

1216 1

将计算和存储分开进行分析是非常低效的,也许我们应该支持谓词和投影下推到存储?谓词下推predicate pushdown是指提取 where 子句条件并使用它们修剪您从磁盘读取的数据的优化(从执行引擎.

Java反应式事件溯源之第5部分:事件存储

1652 7K

选择事件存储数据库需要大量研究。这可能是一个单独的博客系列的主题(可能在将来),所以我的计划是从不同的角度来解决它。不要试图找到最佳解决方案(因为恕我直言不存在)。相反,尝试找到一个最佳的折衷方案并为.