资讯专栏INFORMATION COLUMN

事件源ES的优势

Chao / 698人阅读

摘要:事件采购的模式之一使并发分布式系统实现高性能可伸缩性和弹性。事件源模型对待数据库就像对待一个序列化时间的一样。命令和事件可以模拟用于测试目的。事件日志提供了一个良好的记录进行调试。

多年来,开发人员实现持久性使用传统的创建、读取、更新、删除(CRUD)模式。正如前面介绍的,如果采购模型实现持久性存储状态更改为历史事件捕获业务活动发生之前写的数据存储。这将事件存储机制,允许他们被聚合,或者放在一个组与逻辑边界。事件采购的模式之一,使并发、分布式系统实现高性能、可伸缩性和弹性。
在一个分布式体系结构中,事件采购提供了以下优点

>在传统的CRUD模型中,实体实例通常会表示为一个可变对象在内存和一个可变行关系数据库表中。这导致了臭名昭著的对象关系阻抗失配。对象关系映射器是用来填补这一鸿沟,但带来新的复杂性。
事件源ES模型对待数据库就像对待一个序列化时间的append-only log一样。它并不试图对每个实体的状态或直接在数据库模式之间的关系进行建模。这大大简化了代码从数据库中写入和读取
>一个实体如何达到其当前状态的历史仍在存储事件。事务型数据和查账式数据之间的一致性是有保证的,因为这些是相同的数据
>你现在有能力分析事件流和重要的业务信息来自它——也许甚至都不考虑当时的事件设计。你可以在我们的系统活动中添加新的视图而不会使写入方面更加复杂
>由于所有类型的事件都都只需添加到数据存储区,所以它可以提高写入性能。这里没有更新和删除
>事件源系统很容易测试和调试。命令和事件可以模拟用于测试目的。事件日志提供了一个良好的记录进行调试。如果在生产中检测到一个问题,你可以回放事件日志在受控环境中了解一个实体进入不好
的状态。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69914.html

相关文章

  • 微服务框架lagom

    摘要:在这种情况下,每一个微服务定义一个限界上下文,类似于领域驱动的限界上下文。设计你的微服务系统的响应式微服务架构这本书对于微服务系统架构很有帮助。 1.Lagom概念介绍 lagom框架包含一系列的可以支持我们从开发到部署的库以及开发环境: >在开发阶段,可以通过一个简单的命令构建我们的项目,启动所有你的服务,并且可以支持所有的lagom基础设置层。当你修改了代码,logom是有热加载的...

    Michael_Lin 评论0 收藏0
  • React 组件之间如何交流

    摘要:前言今天群里面有很多都在问关于组件之间是如何通信的问题,之前自己写的时候也遇到过这类问题。英文能力有限,如果有不对的地方请跟我留言,一定修改原著序处理组件之间的交流方式,主要取决于组件之间的关系,然而这些关系的约定人就是你。 前言 今天群里面有很多都在问关于 React 组件之间是如何通信的问题,之前自己写的时候也遇到过这类问题。下面是我看到的一篇不错英文版的翻译,看过我博客的人都知道...

    tomlingtm 评论0 收藏0
  • JavaScript疑难杂症系列-事件循环

    摘要:而之后事件循环一直会去遍历任务队列,一旦有任务放入就会放入主线程中执行。任务队列所谓任务是返回的一个个通知,让主线程在读取任务队列的时候得知这个异步任务已经完成,下一步该执行这个任务的回调函数了。 javascript单线程 浏览器端,复杂的UI环境会限制多线程语言的开发。例如,一个线程在操作一个DOM元素时,另一个线程需要去删除DOM元素,这个之间就需要进行状态的同步,何况前端可能不...

    Keagan 评论0 收藏0
  • Webpack个人学习拙见

    摘要:通过各种和的相关配置,将复杂的文件和依赖包细化打包,使得无论是开发还是上线发布都大大节省了效率。所以我们将移入内。写在最后这是自己第一次写学习笔记,自知内容比较基础还需要深入研究,算是自己对相关知识的梳理吧。 Webpack是什么? A bundler for javascript and friends. Packs many modules into a few bundled a...

    muddyway 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<