mirror of
https://github.com/duanhf2012/origin.git
synced 2026-03-07 06:49:37 +08:00
整理优化rpc
This commit is contained in:
@@ -11,14 +11,19 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
const MaxCheckCallRpcCount = 1000
|
const(
|
||||||
const MaxPendingWriteNum = 200000
|
DefaultRpcConnNum = 1
|
||||||
const ConnectInterval = 2*time.Second
|
DefaultRpcLenMsgLen = 4
|
||||||
const RpcConnNum = 1
|
DefaultRpcMinMsgLen = 2
|
||||||
const RpcLenMsgLen = 4
|
DefaultMaxCheckCallRpcCount = 1000
|
||||||
const RpcMinMsgLen = 2
|
DefaultMaxPendingWriteNum = 200000
|
||||||
const CheckRpcCallTimeoutInterval = 5*time.Second
|
|
||||||
const DefaultRpcTimeout = 15*time.Second
|
|
||||||
|
DefaultConnectInterval = 2*time.Second
|
||||||
|
DefaultCheckRpcCallTimeoutInterval = 5*time.Second
|
||||||
|
DefaultRpcTimeout = 15*time.Second
|
||||||
|
)
|
||||||
|
|
||||||
var clientSeq uint32
|
var clientSeq uint32
|
||||||
|
|
||||||
type IRealClient interface {
|
type IRealClient interface {
|
||||||
@@ -64,7 +69,7 @@ func (bc *Client) makeCallFail(call *Call) {
|
|||||||
|
|
||||||
func (bc *Client) checkRpcCallTimeout() {
|
func (bc *Client) checkRpcCallTimeout() {
|
||||||
for{
|
for{
|
||||||
time.Sleep(CheckRpcCallTimeoutInterval)
|
time.Sleep(DefaultCheckRpcCallTimeoutInterval)
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
|
|
||||||
for i := 0; i < bc.maxCheckCallRpcCount; i++ {
|
for i := 0; i < bc.maxCheckCallRpcCount; i++ {
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ func NewLClient(nodeId int) *Client{
|
|||||||
client := &Client{}
|
client := &Client{}
|
||||||
client.clientId = atomic.AddUint32(&clientSeq, 1)
|
client.clientId = atomic.AddUint32(&clientSeq, 1)
|
||||||
client.nodeId = nodeId
|
client.nodeId = nodeId
|
||||||
client.maxCheckCallRpcCount = MaxCheckCallRpcCount
|
client.maxCheckCallRpcCount = DefaultMaxCheckCallRpcCount
|
||||||
client.callRpcTimeout = DefaultRpcTimeout
|
client.callRpcTimeout = DefaultRpcTimeout
|
||||||
|
|
||||||
lClient := &LClient{}
|
lClient := &LClient{}
|
||||||
|
|||||||
@@ -211,19 +211,19 @@ func NewRClient(nodeId int, addr string, maxRpcParamLen uint32,triggerRpcConnEve
|
|||||||
client := &Client{}
|
client := &Client{}
|
||||||
client.clientId = atomic.AddUint32(&clientSeq, 1)
|
client.clientId = atomic.AddUint32(&clientSeq, 1)
|
||||||
client.nodeId = nodeId
|
client.nodeId = nodeId
|
||||||
client.maxCheckCallRpcCount = MaxCheckCallRpcCount
|
client.maxCheckCallRpcCount = DefaultMaxCheckCallRpcCount
|
||||||
client.callRpcTimeout = DefaultRpcTimeout
|
client.callRpcTimeout = DefaultRpcTimeout
|
||||||
|
|
||||||
c:= &RClient{}
|
c:= &RClient{}
|
||||||
c.selfClient = client
|
c.selfClient = client
|
||||||
c.Addr = addr
|
c.Addr = addr
|
||||||
c.ConnectInterval = ConnectInterval
|
c.ConnectInterval = DefaultConnectInterval
|
||||||
c.PendingWriteNum = MaxPendingWriteNum
|
c.PendingWriteNum = DefaultMaxPendingWriteNum
|
||||||
c.AutoReconnect = true
|
c.AutoReconnect = true
|
||||||
c.TriggerRpcConnEvent = triggerRpcConnEvent
|
c.TriggerRpcConnEvent = triggerRpcConnEvent
|
||||||
c.ConnNum = RpcConnNum
|
c.ConnNum = DefaultRpcConnNum
|
||||||
c.LenMsgLen = RpcLenMsgLen
|
c.LenMsgLen = DefaultRpcLenMsgLen
|
||||||
c.MinMsgLen = RpcMinMsgLen
|
c.MinMsgLen = DefaultRpcMinMsgLen
|
||||||
c.ReadDeadline = Default_ReadWriteDeadline
|
c.ReadDeadline = Default_ReadWriteDeadline
|
||||||
c.WriteDeadline = Default_ReadWriteDeadline
|
c.WriteDeadline = Default_ReadWriteDeadline
|
||||||
c.LittleEndian = LittleEndian
|
c.LittleEndian = LittleEndian
|
||||||
|
|||||||
@@ -84,6 +84,8 @@ func (server *Server) Start(listenAddr string, maxRpcParamLen uint32) {
|
|||||||
server.rpcServer.LittleEndian = LittleEndian
|
server.rpcServer.LittleEndian = LittleEndian
|
||||||
server.rpcServer.WriteDeadline = Default_ReadWriteDeadline
|
server.rpcServer.WriteDeadline = Default_ReadWriteDeadline
|
||||||
server.rpcServer.ReadDeadline = Default_ReadWriteDeadline
|
server.rpcServer.ReadDeadline = Default_ReadWriteDeadline
|
||||||
|
server.rpcServer.LenMsgLen = DefaultRpcLenMsgLen
|
||||||
|
|
||||||
server.rpcServer.Start()
|
server.rpcServer.Start()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user