最近調試zuul發現幾個問題:
1.zuul在作爲網關時即使調大了tomcat的併發量,熔斷時間以及堆內存大小後依舊存在問題在測試中超過200路併發後直接產生熔斷,原因不明請大佬指教
2.actuator的端點在使用時需要注意以下內容:
- 默認的port是你服務的端點如果你沒有自己定義的話,如果你的業務info和他的衝突就尷尬了,因此建議將 management.port:12345 (設置actuator的端口)設置上避免和邏輯端口混用
- endpoints.enabled(端點是否啓用)和management.security.enabled(是否啓用保護)同時出現時以前者爲準
- endpoints.enabled作用爲是否啓用端點,至於能不能看到內容還得看另外一個配置:endpoints.sensitive的屬性設置了端點是否啓用保護,如果該屬性設爲false則說明不用賬號密碼驗證,在訪問info時你將會發現報以下錯誤:
{"timestamp":1535679480847,"status":401,"error":"Unauthorized","message":"Full authentication is required to access this resource.","path":"/info"}
如果訪問http://ip:12345/將報:
{"timestamp":1535679377445,"status":404,"error":"Not Found","message":"No message available","path":"/"}
前者意思是沒有認證,後者是找不到處理的地方
但是這裏提一個問題如何才能禁用端點,目前來看似乎必須使用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
並加上
security:
user:
name: admin
password: admin
management:
security:
enabled: true
才能避免無驗證進入系統,但依舊存在風險。
2018年9月1日21:35:34
今天和一個京東的開發諮詢了下,他建議查下並行的設置。回來查了相關的配置zuul的併發問題基本得到了解決。
問題解決的辦法依賴以下鏈接,添加幾個鏈接:
https://blog.csdn.net/ACMer_AK/article/details/78866124
https://www.jianshu.com/p/39763a0bd9b8
https://blog.csdn.net/harris135/article/details/77879148?locationNum=3&fps=1
以上3個鏈接分別描述了一些配置,但需要注意其中一部分配置內容在不同的版本下可能不起作用我的springcloud的版本爲:
Edgware.SR3
請大家在配置需要注意。但是引出了新問題信號量模式和線程模式對於zuul到底有何區分?歡迎大神指教。