0
私は、SpringブートとNetflix OSSを使用してマイクロサービスを構築しました。私はセントラル設定サーバー、EurekaとZuulを使用しました。スケーラビリティのために、複数のサービスインスタンスが異なるポートで実行されています。すべてのインスタンスはユーレカに登録されていますが、リクエストは最後に登録されたサーバーにのみ行きます。Springクラウドを使用したロードバランシングマイクロサービスNetflix OSS
負荷分散サービスの方法。 Zuulでリボンを使って負荷バランスを取るべきですか?複数のインスタンスで実行されている同じサービスで負荷分散を達成する方法を教えてください。
コード変更が必要な場合はスニペットを、コードスニペットも投稿してください。
アプリケーション構成
spring.application.name=book-service
server.port=0
eureka.client.region = default
eureka.client.registryFetchIntervalSeconds = 5
eureka.client.serviceUrl.defaultZone=http://discUser:[email protected]:10082/eureka/
#eureka.instance.metadataMap.instanceId=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.instanceId=${spring.application.name}:${spring.application.instance_id:${random.value}}
eureka.instance.leaseRenewalIntervalInSeconds=5
eureka.instance.leaseExpirationDurationInSeconds=5
ユーレカ構成
spring.application.name=discovery
server.port=10082
eureka.instance.hostname=localhost
eureka.client.serviceUrl.defaultZone=http://discUser:[email protected]:10082/eureka/
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
spring.session.store-type=hash-map
ZUUL構成
spring.application.name=gateway
server.port=10080
eureka.client.region = default
eureka.client.registryFetchIntervalSeconds = 5
management.security.sessions=always
zuul.routes.book-service.path=/book-service/**
zuul.routes.book-service.sensitive-headers=Set-Cookie,Authorization
hystrix.command.book-service.execution.isolation.thread.timeoutInMilliseconds=600000
#zuul.routes.rating-service.path=/rating-service/**
#zuul.routes.rating-service.sensitive-headers=Set-Cookie,Authorization
#hystrix.command.rating-service.execution.isolation.thread.timeoutInMilliseconds=600000
zuul.routes.discovery.path=/discovery/**
zuul.routes.discovery.sensitive-headers=Set-Cookie,Authorization
zuul.routes.discovery.url=http://localhost:8082
hystrix.command.discovery.execution.isolation.thread.timeoutInMilliseconds=600000
logging.level.org.springframework.web.=debug
logging.level.org.springframework.security=debug
logging.level.org.springframework.cloud.netflix.zuul=debug
spring.session.store-type=hash-map
もっと説明できますか?あなたの設定を提供しますか? Eurekaはデフォルトで一意性のためにホスト名のみを使用します。 – spencergibb
オリジナルの投稿に追加されました – Debopam
'$ {random.value} 'の代わりに' $ {server.port} 'を試して、' --server.port = someport'を渡しましたか? – spencergibb