spring cloud配置問題解決方法に遭遇しました.

7173 ワード

摘要:自分でspring cloudを学んで、多くの問題に出会って、LZネット上で資料を探し当てて解決して、解決方法がどのようですかをも知りません.
第一のFeignコールサービス要求がタイムアウトしました.
LZはFeignで他のサービスを呼び出して、controllerの中で手動で何秒休眠しました.タイムアウトになりました.大体のエラーは以下の通りです.
java.util.concurrent.TimeoutException: null
    at com.netflix.hystrix.AbstractCommand.handleTimeoutViaFallback(AbstractCommand.java:980) ~[hystrix-core-1.5.6.jar:1.5.6]
    at com.netflix.hystrix.AbstractCommand.access$500(AbstractCommand.java:59) ~[hystrix-core-1.5.6.jar:1.5.6]
    at com.netflix.hystrix.AbstractCommand$12.call(AbstractCommand.java:595) ~[hystrix-core-1.5.6.jar:1.5.6]
    at com.netflix.hystrix.AbstractCommand$12.call(AbstractCommand.java:587) ~[hystrix-core-1.5.6.jar:1.5.6]
    at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$4.onError(OperatorOnErrorResumeNextViaFunction.java:140) ~[rxjava-1.1.10.jar:1.1.10]
    at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onError(OnSubscribeDoOnEach.java:87) ~[rxjava-1.1.10.jar:1.1.10]
ソリューションは、appication.ymlに以下の構成を追加します.
hystrix:
  command:
    default:
      execution:
         timeout:
            enabled: false
説明:
#         (  1 )
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 5000
#             ,      (         )
hystrix.command.default.execution.timeout.enabled: false
#    feign hystrix (     )
feign.hystrix.enabled: false
二つ目はFeignがサービスを起動してスレッド池を報告する問題です.
LZはあなたの雪崩の効果を触りたいですが、jmeterツールで設定すると1秒でサーバーに50回要請します.スレッドの問題は以下の通りです.
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@1a79348a rejected from java.util.concurrent.ThreadPoolExecutor@5dccbd14[Running, pool size = 10, active threads = 10, queued tasks = 0, completed tasks = 0]
    at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047) ~[na:1.8.0_65]
    at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) [na:1.8.0_65]
    at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369) [na:1.8.0_65]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) ~[na:1.8.0_65]
解決方法は、appication.ymlに以下の構成を加えてスレッド数を大きくします.(どれぐらい大きいかはテスト環境を見てください.)
hystrix:
  threadpool:
    default:
      coreSize: 51
LZは51に変えて、私のアナログの併発数より大きくて、この誤りはなくなって、どの古い鉄がもっと良い方法があって、告知を望みます!
引き続き問題があります.