小编Jam*_*per的帖子

如何评估托管全文搜索解决方案?

SaaS /托管全文搜索有哪些选择?我该如何评估可用的不同选项?

我正在寻找在后端使用Lucene,solr或sphinx的东西,并提供REST API用于将文档提交到索引和运行搜索.

我可以构建自己的EC2 AMI,但我必须配置EBS和其他东西,监控它等.

lucene hosting solr full-text-search sphinx

45
推荐指数
2
解决办法
8542
查看次数

ant过滤 - 如果未设置属性,则失败

我有一个build.xml使用该<copy>任务复制各种xml文件的蚂蚁.它使用过滤来合并build.properties文件中的属性.每个环境(dev,stage,prod)都有不同的build.properties存储配置.

有时我们会向Spring XML或其他需要更新build.properties文件的配置文件添加新属性.

如果缺少属性,我希望ant快速失败build.properties.也就是说,如果任何原始@...@令牌进入生成的文件,我希望构建死亡,以便用户知道他们需要将一个或多个属性添加到他们的本地build.properties.

内置任务可以实现吗?我在文档中找不到任何内容.我即将编写一个自定义的ant任务,但也许我可以省力.

谢谢

java ant

31
推荐指数
2
解决办法
3万
查看次数

用S3锁定

实现与S3一起使用的简单锁定机制的推荐方法是什么?

我想做的例子:

  • 通过对象id获取锁定
  • 从S3读取对象
  • 修改数据
  • 将对象写入S3
  • 解锁

理想地寻找基于云的锁定机制.我可以在本地使用memcached,但后来我必须处理缩放.我没有看到使用任何AWS API实现轻量级锁定的明显方法,但这似乎是一个常见问题.

我想知道你是否可以使用SimpleDB来进行原子获取锁定操作.有人试过吗?

locking amazon-s3 amazon-web-services

22
推荐指数
1
解决办法
1万
查看次数

如何在确保每个实体FIFO的同时并行处理消息?

假设您的系统中有一个实体,例如“ Person”,并且您想处理修改各种Person实体的事件。重要的是:

  • 同一个人的事件以FIFO顺序处理
  • 多个Person事件流由不同的线程/进程并行处理

我们有一个使用共享数据库和锁来解决此问题的实现。线程竞争为一个人获取锁,然后在获取锁后按顺序处理事件。我们希望移到消息队列中以避免轮询和锁定,我们认为这将减少数据库的负载并简化使用者代码的实现。

我已经对ActiveMQ,RabbitMQ和HornetQ进行了一些研究,但是我看不到实现这一目标的明显方法。

ActiveMQ支持使用者订阅通配符,但是我没有看到一种将每个队列的并发限制为1的方法。如果可以,那么解决方案将很简单:

  • 不知何故告诉代理,以/ queue / person开头的所有队列允许并发1。
  • 发布者使用队列名称中的“人员ID”将事件写入队列。例如:/queue/person.20
  • 消费者使用通配符订阅队列:/ queue / person。
  • 每个消费者将收到针对不同人员队列的消息。如果所有人队列都在使用中,则某些消费者可能会闲置,没关系
  • 处理完一条消息后,使用者将发送一个ACK,告知代理已完成该消息,并允许将用于该Person队列的另一条消息发送给另一个使用者(可能是同一条)

ActiveMQ即将结束:您可以进行通配符订阅并启用“独占使用者”,但是这种结合导致单个使用者接收发送到所有匹配队列的所有消息,从而将所有人员的并发性降低为1。我觉得我缺少明显的东西。

问题:

  • 是否可以通过任何主要的消息队列实现来实现上述方法?我们对选择持开放态度。唯一的要求是它必须在Linux上运行。
  • 有没有其他方法可以解决我不考虑的一般问题?

谢谢!

concurrency activemq-classic message-queue rabbitmq hornetq

5
推荐指数
1
解决办法
3812
查看次数