我需要在Java中创建一个绘图应用程序,用户在主应用程序中绘制线条和颜色以及其他内容,并且许多客户端查看器会相应地更新其视图。每个客户端查看器可以不同地可视化所接收的数据(例如,给定在主应用程序中绘制的线,观看者1可以执行相同的操作,而查看者2可以应用一些过滤以显示其不同。)。
Java Messaging Service是否适用于此类应用程序?主应用程序将发送消息中的更改,客户端将异步更新其视图。后来我可能需要distingush发送的数据类型,因此考虑CAMEL为不同的客户设置不同的主题。如果这些不是一个好的选择,那么适合的技术是什么?
如果稍后设计发生变化,它们仍然是一个不错的选择,以便每个客户端也发送更新并需要相应更新吗?
如果主应用程序中的更新率/金额很大,这种方法会缩小吗? (例如,在1024x768像素或更高像素上更新60帧/秒。 - 我可以计算帧差异并仅发送更改。)
感谢您的时间,并对很多问题感到抱歉。如果我的任何假设也是错误的,请告诉我。
答案 0 :(得分:0)
虽然它是可行的,但我怀疑JMS和Camel最适合这种类型的分布式应用程序。
JMS / Camel适用于需要在服务和使用者之间进行某种程度的解耦的企业集成方案。解耦通常伴随着维护和性能开销。
对于您描述的应用程序类型,这听起来像解耦我们并不重要,所以您可能最好看一些分布式应用程序环境,其中客户端和服务器以相同的语言实现,并且您之间有rpc调用。
根据您的语言选择,您可以考虑的分布式技术是:分布式Java,分布式Ruby,Celluloid,HTML5 + Websockets(例如,查看meteor.com)。