4

对象流行机制是否已在实际生产系统中使用?我指的是像PrevaylerMadeleine这样的东西

我发现的唯一东西是Instiki,一个 wiki 引擎。但自从他们开始他们已经切换到 SQLite。(实际的instiki页面已关闭)

4

3 回答 3

3

我曾经工作的一家公司使用 Prevayler 作为基于计算机的学生考试/评估系统的一部分大约五六年。

Prevayler 用于将考生的测试状态存储在物理上位于单个测试中心内的服务器上。存储的数据量相当低,因为最多只有几百名考生在一个考试中心参加考试。因此,在 2004 年在商品硬件上运行 Prevayler 是切实可行的——“服务器”在大多数情况下只是一个典型的低端台式机,为了运行考试而临时借用。

这个想法是,如果考生的计算机在他们参加考试时崩溃了,那么他们可以在同一台或不同的计算机上快速恢复考试。它工作得很好。

当某些新要求导致对象模型发生变化时,偶尔会遇到困难,因为默认情况下 Prevayler 将对象模型与磁盘上的数据表示紧密耦合。这对我们来说实际上并不是一个主要问题,因为对象模型的更改发生在考试之间,此时我们通常可以负担得起丢弃旧数据(由于我们的设计不佳而导致一些例外)。

您可以做很多事情来使更改对象模型变得可行,这是最适合您的应用程序的问题。对我们来说,丢弃旧数据通常是最好的解决方案。

还有一个后端系统将来自所有考试中心的考生的考试汇总到一个 SQL 数据库中。这存储的数据量比 Prevayler 当时可以合理处理的要多。今天在那里使用 Prevayler 可能是可行的,但我不认为使用模式特别适合 Prevayler,因为大多数数据往往被写入,读取一次以进行标记,然后被遗忘并被视为存档数据除非查询到测试结果。

那家公司已经离开了 Prevayler,但其原因更多的是政治而非技术。

于 2012-11-20T17:17:57.070 回答
1

好吧,我们在一个计划在明年某个时候投入生产的项目中使用 Prevayler ,但我们还不够接近,无法提供任何真正的球探报告。我们认为它会起作用......

于 2008-10-25T14:05:19.910 回答
1

“LMAX 是一个新的零售金融交易平台。因此它必须以低延迟处理许多交易。该系统建立在 JVM 平台上,以业务逻辑处理器为中心,可在单线程上每秒处理 600 万笔订单. 业务逻辑处理器使用事件溯源完全在内存中运行。”

http://martinfowler.com/articles/lmax.html

于 2011-11-03T11:40:48.510 回答