有人使用 JavaSpaces 技术吗?

发布于 2024-07-13 16:51:48 字数 1436 浏览 12 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

不气馁 2024-07-20 16:51:48

我们目前正在使用 javaspaces(Sun outrigger 实现)来协调松散耦合的流程。 其背后的想法非常引人注目,而且 API 非常简单。 实际执行起来却出了问题。 它是基于 Jini 构建的,因此需要 5 或 6 个进程才能调出一个空间。 而且,至少在 Sun 的实现中,没有办法让它通过特定端口进行通信,这使得防火墙有点麻烦。

我们遇到的另一个问题是空间中没有隐含的顺序。 因此,如果您放入 5 个对象,并且读取/拍摄上的模板与所有 5 个对象匹配,则不确定您将获得哪一个。 根据应用程序的不同,这可能是问题,也可能不是问题。

We are currently using javaspaces (the Sun outrigger implementation), to coordinate loosely coupled processes. The idea behind it is compelling, and the API is very simple. The actual implementation has been a problem. It's built on Jini, so 5 or 6 processes are required to bring up a space. And, at least in Sun's implementation, there is no way to have it communicate over specific ports, which makes firewalls a bit of a pain.

The other issue that we have run into is that there is no implied ordering in the space. So if you put 5 objects in, and your template on the read/take matches all 5, it is unspecified which one you will get. Depending on the application, this may or may not be an issue.

掌心的温暖 2024-07-20 16:51:48

GigaSpaces 是 JavaSpaces 的成熟版本。 它广泛应用于金融应用,但这些应用一直保持沉默。

至于实现,它基本上是 Jini 之上的事务对象数据库。 查询与 db4o 类似。

GigaSpaces is a mature version of JavaSpaces. It is widely used in financial applications, which are kept quiet.

As for the Implementation it is basically an transactional Object database on top of Jini. The queries are similar to db4o.

楠木可依 2024-07-20 16:51:48

我见过它在金融应用程序中使用,主要用于管理计算工作人员(网格样式),其中条目从前端应用程序写入空间,并由工作人员通过匹配显示需要工作的字段来拉出。 结果可以写回空间,触发前端应用程序注册的通知,然后读回已完成的工作。

对于计算工作者来说,这没问题,但缺乏排序可能对您来说是一个问题(如果只是因为不可预测性)——某些实现具有强制 FIFO 排序的功能。 它也用于长期数据存储,因为它是持久的,但我认为这不是一个好主意。 管理工具不够好,无法使其易于管理,并且由于数据量太大,性能受到影响。

使用了 Dan Creswell 的 Blitz JavaSpaces 实现 - 它具有一系列良好的功能(可以瞬时或持久运行)模式),被设计为稳健(具有事务日志记录)并保持高性能,并且可调性很强。 与其他 Jini 服务一样,您可以配置“导出器”以使其侦听特定端口,以使防火墙更容易 - 还使用了 SSL 传输和完整的 PKI,并且通过 Jini 的通信抽象使之成为可能。

我认为 Gigaspaces 是唯一通过以多种方式扩展规范来持续创新的实现,这很高兴看到。 他们使其适合各种用例,并添加了集群和高可用性等实施功能。 不过使用它会让我担心,因为考虑到 Gigaspaces 是相当专有的,我会更高兴在社区中看到这些功能的两个或多个实现。

I've seen it used in a financial application, mostly for managing compute workers (grid style) where entries were written into the space from front-tier applications and pulled out by workers by matching on a field showing work was needed. Results could be written back into the space, triggering a notify registered by the front-tier app which then reads back the finished piece of work.

For compute workers it's OK, but lack of ordering may be an issue for you (if only because of unpredictability) - some implementations have features to enforce FIFO ordering. It was also used for long term data storage as it was persistent, but I don't think that was a good idea. The admin tooling wasn't good enough to make it manageable and performance suffered due to the volume of data.

Dan Creswell's Blitz JavaSpaces implementation was used - it's got a good range of features (can run in transient or persistent modes), is designed to be robust (with transaction logging) and retain high performance, and it's very tunable. As with the other Jini services, you can configure the "exporter" to have it listen on specific ports to make firewalling easier - SSL transports and full PKI were used too and are made possible by Jini's abstraction of communication.

I think Gigaspaces is the only implementation that has continued to innovate by extending the specification in numerous ways, which is nice to see. They've made it fit a wide variety of use-cases and added implementation features such as clustering and high availability. Using it would worry me though, as I'd be much happier seeing two or more implementations of these features in the community, given Gigaspaces is fairly proprietary.

桜花祭 2024-07-20 16:51:48

我相信 Orbitz 是一个在 Jini 上运行的酒店预订系统。

基于 Java Posse 剧集 #82、#84 和 #86,这是对文·西蒙斯(Vin Simmons)有时会将这项技术用于军事或金融应用,但不幸的是这些应用却处于安静状态。

I believe Orbitz which is a reservation system for hotels runs on Jini.

Based on Java Posse episodes #82, #84 and #86 which is an interview with Vin Simmons this technology is sometimes used in military or financial applications which are unfortunatley on the quiet.

凝望流年 2024-07-20 16:51:48

我几年前用过它,但它可能没有太大变化。

@Keith:(至少过去)可以在单个进程/JVM 中启动所有服务,我认为有关于如何执行此操作的文档。

我相信 Jini/Javaspaces 在欧洲的一些大型应用程序(票务、手机等)中使用。 GE 飞机公司也将其用于研究和分析。

德克萨斯理工大学的 SORCER 实验室拥有一个构建在 Jini/Javaspaces 之上的大型 SOA 架构,您也许可以在那里找到一些帮助。

I used it a few years back but it probably has not changed much.

@Keith: It is(used to be atleast) possible to start all the services in a single process/JVM and I think there is documentation out there on how to do this.

I believe Jini/Javaspaces is used in a few large applications (ticketing, cell phones etc) in Europe. Also used by GE Aircraft for research and analysis.

SORCER lab at Texas Tech has a large SOA architecture built on top of Jini/Javaspaces and you may be able to find some help there.

沉溺在你眼里的海 2024-07-20 16:51:48

目前我还不知道 JavaSpaces 有任何新用途。 对于分布式计算,大多数大型系统都是使用内存数据网格技术或类似 NoSQL 的分区解决方案构建的。 (我看到很多 Oracle Coherence 被使用,但这可能是因为我使用它。)

为了充分披露,我在 Oracle 工作。 这篇文章中表达的意见和观点是我自己的,并不一定反映我雇主的意见或看法。

I'm not aware of any new usage of JavaSpaces at this point in time. For distributed computing, most large-scale systems are being built with In-Memory Data Grid technology or partitioned NoSQL-like solutions. (I see a lot of Oracle Coherence being used, but that's probably because I work with it.)

For the sake of full disclosure, I work at Oracle. The opinions and views expressed in this post are my own, and do not necessarily reflect the opinions or views of my employer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文