是否有 Java 端口或 NEventStore 库的等效项?
我读过 Jonathan Oliver 的 .NET EventStore 库,我必须说这个概念对我很有吸引力:只有一个简单的无依赖库,它是非侵入性的,只专注于事件源,留下选择技术时有很大的自由度用于数据库、消息传递等。
我的问题:Java 世界中也有类似的东西吗?我知道有各种与 CQRS 相关的框架,例如 Axon 和 Jdon,但这些不仅仅是事件源......有人在直接端口上工作吗?
I've read up on Jonathan Oliver's .NET EventStore library, and I must say the concept appeals to me a lot: having just a simple no-dependencies library which is non-intrusive and just focuses on event sourcing, leaving a lot of freedom when choosing technologies for databases, messaging, etc.
My question: Is something similar also available in the Java world? I know there are all kind of CQRS-related frameworks, like Axon and Jdon, but those do a lot more than just event sourcing... Anyone working on a straightforward port, perhaps?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我不知道有任何存在。同时,写一篇也不会太困难。对我来说,编写 EventStore 最困难的部分是找到正确的模型。在我对事情的结果感到真正满意之前,我在公司内发布了两次私人/内部版本,然后又发布了两次公开版本。还有一些 Ruby 移植和其他语言,通常需要几个小时才能编写,因为作者复制了模型。如果您采取相同的方法,我不明白为什么您不能在几个小时内编写自己的方法。
I'm not aware of any that exist. At the same time, it wouldn't be terribly difficult to write one. The hardest part for me in writing the EventStore was arriving at the correct model. I had two private/internal releases within my company, and then two public releases before I was really satisfied with how things turned out. There are a few Ruby ports and other languages as well, and usually they take a few hours to write because the authors copy the model. If you take the same approach, I don't see why you couldn't write your own within a few hours.
我意识到这个问题已经很老了,但对于现在处于类似位置的人来说:
你可以尝试 Greg Young 的 EventStore (http://geteventstore.com)
它需要 .NET 或 mono 才能运行,但有一个基于 JVM 的客户端库:
https://github.com/EventStore/eventstorejvmclient
I realize the question is old, but for those in a similar position now:
you could try Greg Young's EventStore (http://geteventstore.com)
It needs .NET or mono to run but there is a JVM-based client library:
https://github.com/EventStore/eventstorejvmclient
您可以查看 Occurrent ,它被设计用作库。这意味着您只能使用事件存储,而不能使用其他任何东西,并在合适时添加更多组件。
如果您想在顶部使用框架(不必在域模型中使用特定于框架的代码),它还可以与流行的框架(例如 Spring Boot)很好地集成。
You could have a look at Occurrent which is designed to be used as a library. This means that you can use only the event store, and nothing else, and add more components when you find fit.
It's also designed to integrate well with popular frameworks such as Spring Boot if you want to use a framework on top (without necessarily having to use framework-specific code in your domain model).
理论上,它可以支持消息传递,但目前似乎只支持数据库。
使用 JDBC 并不是什么强加的事情,并且可以相当容易地满足您的需求。如果你想要简单,我会使用 JDBC。
如果您想支持 JMS(消息传递),我只会使用它(通过适应您想要使用的任何数据库的服务)这为您提供了用于所有类型消息传递(以及您连接到的任何数据库)的简单标准事件驱动接口
In theory, it could support messaging, but appears to only support databases currently.
Using JDBC is not that much of an imposition and can wrapped up to suit your needs fairly easily. If you want simplicity, I would use JDBC.
If you want to support JMS (messaging) I would use only that (with an adapting service to any database you want to use) This gives you simple standard event driven interface for all types of messaging (and any database you connect to)