DistributedQueueSelector実装サービス jp.ossc.nimbus.service.queue.SimpleDistributedQueueSelectorService

jp.ossc.nimbus.service.queue.SimpleDistributedQueueSelectorServiceは、等価な流量分散によるキューの分流を実現するDistributedQueueSelector実装サービスです。
設定により、以下の2種類の分流動作を選択できます。

  • キューへの投入件数が等価になるように分流する(デフォルト)
  • キューの滞留件数が等価になるように分流する

上記のような分流を行うため、このDistributedQueueSelectorの分流では、キューへのエントリの順序性保証はできません。

このサービスは、複合的なサービスで、以下のサービスを下位サービスとして使用します。

下位サービスインタフェース用途
jp.ossc.nimbus.service.queue.Queue非同期処理要求を受け付ける内部キュー。

以下に簡単なサービス定義を示します。

  1. <?xml version="1.0" encoding="Shift_JIS"?>
  2. <!DOCTYPE server PUBLIC
  3. "-//Nimbus//DTD Nimbus 1.0//JA"
  4. "http://nimbus.sourceforge.jp/dtd/nimbus-service_1_0.dtd">
  5. <server>
  6. <manager>
  7. <!-- キューの分流を行うDistributedQueueSelectorサービス -->
  8. <service name="DistributedQueueSelector"
  9. code="jp.ossc.nimbus.service.queue.SimpleDistributedQueueSelectorService">
  10. <!-- 分流するキューの数を設定する -->
  11. <attribute name="DistributedSize">5</attribute>
  12. <!-- 分流モードを設定する
  13. SELECT_MODE_COUNT:キューへの投入件数が等価になるように分流する(デフォルト)
  14. SELECT_MODE_SIZE:キューの滞留件数が等価になるように分流する
  15. -->
  16. <attribute name="SelectMode"><static-field-ref code="jp.ossc.nimbus.service.queue.SimpleDistributedQueueSelectorService" name="SELECT_MODE_SIZE"/></attribute>
  17. </service>
  18. </manager>
  19. </server>


キュー/DistributedQueueSelector