私は、アプリケーションサーバーを必要とせずにWebサービスを公開する純粋なJavaアプリケーションを持っています。このアプリケーションがインストールされているサーバーにリクエストを転送するようにApacheHttpLoadbalancerを設定するにはどうすればよいですか。
GlassfishなどのアプリケーションサーバーにWebサービスをデプロイするときに処理できます。しかし、私は純粋なJavaアプリケーションでそれを行う方法を知りません。
私は、アプリケーションサーバーを必要とせずにWebサービスを公開する純粋なJavaアプリケーションを持っています。このアプリケーションがインストールされているサーバーにリクエストを転送するようにApacheHttpLoadbalancerを設定するにはどうすればよいですか。
GlassfishなどのアプリケーションサーバーにWebサービスをデプロイするときに処理できます。しかし、私は純粋なJavaアプリケーションでそれを行う方法を知りません。
次のように、バランサー構成でajp://の代わりにhttp://を使用できるはずです。
<Proxy balancer://myApp>
BalancerMember http://47.168.96.31:2020 route=r1
BalancerMember http://192.168.0.2:2020 route=r2
</Proxy>
または、次のようなプロキシを使用して直接転送します。
ProxyPass / balancer://myApp
ProxyPassReverse / balancer://myApp
apacheが47.168.96.31にあるとすると、次のようにサービスにアクセスします。http://47.168.96.31/StockQuote/StockQuoteService
でサービスに応答させたい場合は、次のhttp://47.168.96.31/
ようにすることができます。
ProxyPass / balancer://myApp/StockQuote/StockQuoteService
ProxyPassReverse / balancer://myApp/StockQuote/StockQuoteService
これが私がこれまでに行ったことであり、それが実現します。サービスは次の場所でアクセスできます。
http://47.168.96.31/StockQuote/StockQuoteService
インストール:
./configure --prefix=/usr/local/apacheHttpServer3 --enable-modules=proxy
構成:
<Proxy balancer://kekagent>
BalancerMember http://47.168.96.31:2020 loadfactor=10
BalancerMember http://192.168.0.2:2020 loadfactor=10 timeout=2
</Proxy>
ProxyPass /StockQuote/StockQuoteService balancer://kekagent/StockQuote/StockQuoteService