org.springframework.cloud
spring-cloud-starter-netflix-hystrix
@enablediscoveryclient
@enablecircuitbreaker
(一),降級方法寫在方法上面,這個時候降級方法,必須降級方法,必須跟方法的返回值和引數一致
@hystrixcommand(fallbackmethod = "defaultmethod")
public user querybyid(@pathvariable("id") long id)
public user defaultmethod(long id)
(二)降級方法寫在類上
在類上面新增註解
@defaultproperties(defaultfallback = "defaultmethod")
在方法新增註解
@hystrixcommand
編寫降級方法,降級方法不能有任何引數,但是返回值必須與上面的方法返回值一樣
public user defaultmethod()
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutinmillisecond: 6000 # 設定hystrix的超時時間為6000ms
//@hystrixcommand(fallbackmethod = "defaultmethod")
@hystrixcommand(commandproperties = )
public user querybyid(@pathvariable("id") long id) )
public user querybyid(@pathvariable("id") long id) (一)。在yml檔案中將hystix的支援開啟
feign:
hystrix:
enabled: true # 開啟feign的熔斷功能
(二)。實現feign對請求路徑包裝的介面類,注意這個類,要交給sping來管理
@component
public class userclientimpl implements userclient
}
(三)將上面的實現類,配置到介面類上
@feignclient(value = "user-service",fallback = userclientimpl.class)
(一),壓縮是否開啟
feign:
compression:
request:
enabled: true # 開啟請求壓縮
response:
enabled: true # 開啟響應壓縮
(二),壓縮引數配置
feign:
compression:
request:
enabled: true # 開啟請求壓縮
min-request-size: 2048 # 設定觸發壓縮的大小下限
因為我們服務介面預設是對外暴露的,若是讓使用者直接訪問,會有一定得風險,但是如果為每乙個服務加上許可權驗證又過於複雜,因此我們需要使用zuul,zuul的作用,是使用者所有的請求全部攔截到zuul,然後zuul根據訪問路徑,來決定呼叫那乙個服務
org.springframework.cloud
spring-cloud-starter-netflix-zuul
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
@enablezuulproxy // 開啟zuul的閘道器功能
public static void main(string args)
}
server:
port: 10000
eureka:
client:
service-url:
defaultzone:
spring:
name: zuulgetway
zuul:
routes:
user-service: # 這裡是路由id,隨意寫
path: /user-service/** # 這裡是對映路徑
serviceid: user-service # 指定服務名稱 ,如果不使用eureka可以將路徑配置成下面形式
# url: # 對映路徑對應的實際url位址
zuul規則可以不寫,按照預設規則,所有的訪問路徑就是類似於下面這樣
http:// + zuul的ip和埠號 + 服務id + 具體的攔截路徑 + 引數
如果我們不想這麼麻煩的訪問,只想直接http://localhost:12306/cunsumer/2就訪問到具體的方法,我們進行如下配置
zuul:
routes:
consumer-service: # 這裡是路由id,隨意寫
path: /consumer/** # 這裡是對映路徑
serviceid: consumer-service # 指定服務名稱
strip-prefix: false # 即對映路徑裡面的consumer也作為訪問路徑
zuul:
ignored-services:
-user-service
@component
public class loginfilter extends zuulfilter
@override
public int filterorder()
@override
public boolean shouldfilter()
@override
public object run()
return null;
}
iOS MBProgressHUD的基本使用
方式1.直接在view上show hud mbprogresshud showhudaddedto self.view animated yes retain hud.delegate self 常用的設定 小矩形的背景色 hud.color uicolor clearcolor 這兒表示無背景 顯...
scanf gets getchar的基本使用
scanf 是在c語言中最常用的輸入函式,它需要我們嚴格按照要求進行輸入,除非你用對scanf 使用了正規表示式 對於scanf 當它遇到空格 回車 或者tab鍵時,都會自動停止輸入,剩下的內容逗留在緩衝區中,所以如果需要輸入字串,不推薦使用它。關於正規表示式 是個集合的標誌,特指讀入此集合所限定的...
PHP Elasticsearch的基本使用方法
一 連線elasticsearch 1 elasticsearch開啟之後,可以直接通過檢視基本資訊。2 將composer vendor下的檔案複製到ot thinkphp library vendor elasticsearch目錄下。3 連線elasticsearch,public es 初始...