當接收的資料量超過了8m時, grpc報錯如下
rpc error: code = resourceexhausted desc = grpc: received message larger than max (8388613 vs. 8388608)
由上錯誤可知,最大接收資料大小是8m位元組左右, 而有時候我們又需要傳輸大於此資料量的資料怎麼辦呢?
在grpc庫中發現了如下兩個函式
func maxcallrecvmsgsize(bytes int) calloption
}func maxcallsendmsgsize(bytes int) calloption
}
單位是位元組, 引數型別是int, 也就是最大支援傳送接收為2g-1個位元組
既可以接收大小 grpc.maxcallrecvmsgsize(1024 * 1024 * 20)
可擴充套件傳送大小 grpc.maxcallsendmsgsize(1024*1024*20)
使用方式, 在客戶端呼叫介面,可擴充套件引數加入上述函式進行設定 即可
另外就是在客戶端連線的時候進行設定
conn, err := grpc.dial(host, grpc.withinsecure(), grpc.withdefaultcalloptions(grpc.maxcallrecvmsgsize(1024 * 1024 * 8)))
Linux 設定最大鏈結
最大連線數 ulimit shn 65535 最大檔案控制代碼數,最大開啟檔案數 等同最大連線數 ulimit a 檢視 etc security limits.conf 程序最大開啟檔案數 nofile 可以被理解為是檔案控制代碼數 檔案描述符 還有socket數 soft nofile 6553...
mysql最大併發數設定
mysql 預設的最大併發連線為100,預設的連線數無法滿足大量client 連線的請求.但是可以通過以下方式改變,使用root使用者登入mysql 系統引用 mysql show variables like max connections variable name value max conn...
redis最大快取設定策略
一 最大快取設定 示例 maxmemory 100mb 單位 mb,gb。預設為0,沒有指定最大快取,如果有新的資料新增,超過最大記憶體,則會使redis崩潰,所以一點要設定。設定maxmemory之後,配合的要設定快取資料 策略。二 策略演算法設定 當maxmemory限制到達的時候,redis將...