spring cloud feign 支援對請求和響應進行gzip壓縮,以提高通訊效率。
fegin預設的client對響應流不支援對gzip後的位元組流進行解析,所以在序列化成物件時會存在解析問題。我們可以使用過濾器實現。開始實現。
1.依賴引入,pom檔案新增feign-httpclient,將feign的http元件改為okhttp
//(使用okhttp)
feign.compression.request.enabled=
true
//開啟請求壓縮
feign.compression.request.min-request-size=
1024
//設定請求大小,1024kb以上開始壓縮
feign.compression.response.enabled=
true
//響應壓縮
feign.compression.response.usegzipdecoder=
true
//響應解碼3.配置啟動類
//啟用fegin註解
@enablefeignclients
//啟用過濾器,下面使用當前過濾器所在包名
@servletcomponentscan
(basepackages =
)public
class
}4.配置過濾器
@webfilter
(filtername=
"gzipfilter"
,urlpatterns=
"/*"
)@slf4j
public
class
gzipfilter
implements
filter
filterchain.
dofilter
(request,servletresponse);}
public
class
extends
@override
public servletinputstream getinputstream()
throws ioexception
@override
public
boolean
isfinished()
@override
public
boolean
isready()
@override
public
void
setreadlistener
(readlistener arg0)};
return newstream;
}catch
(exception e)
return stream;}}
}
使Apache實現gzip壓縮
apache預設的http.conf配置檔案中沒有開啟gzip壓縮,apache1.3.x可以用mod gzip進行優化網頁瀏覽的速度,在apache2中也嘗試用mod gzip,但是配置後確發現網頁不能正確顯示 空白頁 所以改換為mod deflate。下面說一下怎樣在apache2下開啟gzip...
使Apache實現gzip壓縮
apache預設的http.conf配置檔案中沒有開啟gzip壓縮,apache1.3.x可以用mod gzip進行優化網頁瀏覽的速度,在apache2中也嘗試用mod gzip,但是配置後確發現網頁不能正確顯示 空白頁 所以改換為mod deflate。下面說一下怎樣在apache2下開啟gzip...
開啟gzip壓縮
前端gzip壓縮一直都是必備的,簡單又能能壓縮不少的檔案體積,用了好久了今天記錄一下。我們伺服器用的nginx,進入伺服器下nginx.conf檔案,gzip on gzip min length 1k gzip buffers 4 16k gzip comp level 4 壓縮程度,1 9,建議...