サービス検出と負荷分散を備えたインフラストラクチャがあります(つまり、STMとweblogicクラスターを備えたサーバー側)。現在、マイクロサービスへのリファクタリングを行っています。他のマイクロサービスへの基本的なルーティングを行うAPIゲートウェイが必要になります。 Netflix Zuulは良い候補に見えますが、EurekaなしではZuulを機能させることはできませんでしたが、サービス検出と負荷分散がすでに行われているため、Eurekaは必要ありません。
ありがとう。
はい、それは完全に可能です。構成クラスで@EnableZuulProxy
を使用し、次のように構成する必要があります。
zuul:
routes:
yourService:
path: /yourService/**
serviceId: yourService
ribbon:
eureka:
enabled: false
yourService:
ribbon:
listOfServers: localhost:8080
使用例は次のようになります。
shared.microservice.customer.service1.url=zttp://127.0.0.1:8080/shared/microservice/customer/
shared.microservice.customer.service2.url=zttp://127.0.0.1:8181/shared/microservice/customer/
ribbon.eureka.enabled = false
zuul.routes.customer-micro-service.path: /shared/microservice/customer/**
zuul.routes.customer-micro-service.serviceId: customers
customers.ribbon.listOfServers =
zttp://ip:port1/shared/microservice/customer/,zttp://ip2:port2/shared/microservice/customer/
はい、もちろんできます。実際、Spring Bootで@ EnableZuulProxyを使用する場合、デフォルトではアクチュエーター、2つの追加エンドポイントを有効にします。
application.yaml
zuul:
routes:
users:
path: /myusers/**
url: https://example.com/users_service
これらの単純なURLルートはHystrixCommandとして実行されません。また、リボンを使用して複数のURLの負荷を分散しません。 。
Yoは ここ からより多くの情報を得ることができます。