86.6. DNS アクティベーションポリシー
DnsActivationPolicy を使用して、dns の状態に基づいてルートを動的に開始および停止できます。
異なるリージョンで実行されている同じコンポーネントのインスタンスがある場合、各リージョンでルートを設定して、dns がそのリージョンを指している場合にのみ有効化できます。
つまり、NYC にインスタンスがあり、SFO にインスタンスがあるとします。サービス CNAME service.example.com を nyc-service.example.com を指すように設定して、NYC インスタンスを起動し、SFO インスタンスを停止します。CNAME service.example.com を sfo-service.example.com を指すように変更すると、nyc インスタンスはそのルートを停止し、sfo はそのルートを起動します。これにより、実際のコンポーネントを再起動せずにリージョンを切り替えることができます。
<bean id="dnsActivationPolicy" class="org.apache.camel.component.dns.policy.DnsActivationPolicy"> <property name="hostname" value="service.example.com" /> <property name="resolvesTo" value="nyc-service.example.com" /> <property name="ttl" value="60000" /> <property name="stopRoutesOnException" value="false" /> </bean> <route id="routeId" autoStartup="false" routePolicyRef="dnsActivationPolicy"> </route>