【问题标题】:Infinispan distributed task executionInfinispan 分布式任务执行
【发布时间】:2017-01-12 22:49:27
【问题描述】:

我知道简单的分布式任务执行(使用分布式执行器服务),例如 herehere,但是使用的机制是序列化可调用对象并将其传输到目标执行,正如我所说的那样有效对于简单的情况,很多时候对每件事都进行searlize是不可行的,例如从可调用的类中引用很多类来完成任务,在这种情况下,所有东西都应该被传输(很多时候是不可能的,即使它是可能,通过杀死目的来传输将花费大量时间),而需要的是假设目标系统中存在类并简单地调用它(hadoop的工作方式), 不知道infinispan中是否存在这样的执行模型?

【问题讨论】:

标签: java task distributed infinispan


【解决方案1】:

如果您为这些可调用对象提供外部化器,并且可调用性和外部化器都已配置并部署在所有节点中(必需),则无需分发这些类。有关如何定义外化器的详细信息,请参阅here

【讨论】:

  • 我想避免序列化/外部化..对于简单的 hello world 之类的情况,没关系,但是对于实时来说,这是不可行/不实用/推荐的...例如,您的可调用对象将是与业务层交谈,而后者又与 dao 层/外部层交谈,而且它会使用大量的类来完成工作......序列化/外部化所有这些类只是为了让 infinispan 开心,这将是一个很大的不不.. 仅对参数/数据进行实体化/外部化就可以了,它在 hadoop 中的工作方式......有什么想法吗??
  • 通过网络发送业务层对象总是一个坏主意。相反,您应该提取任务所需的最小对象集(​​此步骤可能涉及重大重构),使该任务可外部化并将其用于分布式执行。如果在您的情况下不可能,您可能需要考虑将计算分成多个步骤(可能与队列连接)。在这种情况下,请查找有关事件驱动架构的一些信息(包括一些新概念,例如反应式的东西等)。
  • 顺便说一句,如果您喜欢它与 Hadoop 一起工作的方式,您可以使用 Infinispan 作为 Hadoop 的后端,让您能够将数据存储在内存中。请参阅here,一些示例可以在here 中找到。我们还发布了一些关于与 Hadoop 集成的博文,请查看here
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-09
相关资源
最近更新 更多