文件名称:conduit:Ruby 的事件存储
文件大小:11KB
文件格式:ZIP
更新时间:2024-07-28 12:38:11
Ruby
导管 Ruby 的事件存储。 我们不只是将聚合/实体的当前状态存储在数据存储中,而是存储事件,通常是用户执行的操作。 这提供了聚合/实体如何达到其当前状态的日志。 投影创建数据的只读非规范化视图,这意味着您可以在没有JOIN的情况下查询数据以获得最佳性能。 本质上,数据的读取和写入是独立的过程。 写入事件并读取非规范化数据。 可以选择在不同的机器上异步构造读取的数据。 如果是这样,读取的数据将最终变得一致。 安装 gem 'conduit' 创建商店 $store = Conduit :: EventStore . new 默认情况下,内存存储用于持久性,在生产中传递一个符号,例如:mongo 。 推送事件 $store . push ( :thingy_created , 1 , { ... } ) 事件由事件名称、聚合/实体的 id 和包含事件详细信息的哈希组成。 例如,
【文件预览】:
conduit-master
----Rakefile(29B)
----conduit.gemspec(956B)
----TODO.md(688B)
----Gemfile(55B)
----spec()
--------store_spec.rb(3KB)
--------store_filters_spec.rb(1KB)
--------in_memory_persistence_spec.rb(3KB)
--------event_spec.rb(447B)
--------spec_helper.rb(37B)
----.ruby-version(6B)
----.gitignore(118B)
----lib()
--------conduit.rb(134B)
--------conduit()
----README.md(7KB)
----LICENSE.txt(1KB)