mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-03 22:45:13 +08:00
优化网关服务
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
package tcpgateway
|
||||
|
||||
type ILoadBalance interface {
|
||||
SelectNode(serviceName string) int //选择一个结点,通过服务名称
|
||||
SelectNode(serviceName string,clientId uint64,eventType string,msgType uint16,msg []byte) int //选择一个结点,通过服务名称
|
||||
}
|
||||
|
||||
@@ -3,6 +3,6 @@ package tcpgateway
|
||||
type LoadBalance struct {
|
||||
}
|
||||
|
||||
func (balance *LoadBalance) SelectNode(serviceName string) int {
|
||||
func (balance *LoadBalance) SelectNode(serviceName string,clientId uint64,eventType string,msgType uint16,msg []byte) int {
|
||||
return 1
|
||||
}
|
||||
|
||||
@@ -211,6 +211,7 @@ func (args RawInputArgs) DoGc() {
|
||||
}
|
||||
network.ReleaseByteSlice(args.rawData)
|
||||
}
|
||||
var msgEventType string
|
||||
|
||||
func (r *Router) RouterMessage(cliId uint64,msgType uint16,msg []byte) {
|
||||
routerInfo:= r.GetMsgRouterService(msgType)
|
||||
@@ -221,7 +222,7 @@ func (r *Router) RouterMessage(cliId uint64,msgType uint16,msg []byte) {
|
||||
|
||||
routerId := r.GetRouterId(cliId,&routerInfo.ServiceName)
|
||||
if routerId ==0 {
|
||||
routerId = r.loadBalance.SelectNode(routerInfo.ServiceName)
|
||||
routerId = r.loadBalance.SelectNode(routerInfo.ServiceName,cliId,msgEventType,msgType,msg)
|
||||
r.SetRouterId(cliId,routerInfo.ServiceName,routerId)
|
||||
}
|
||||
|
||||
@@ -242,7 +243,7 @@ func (r *Router) RouterEvent(clientId uint64,eventType string) bool{
|
||||
|
||||
routerId := r.GetRouterId(clientId,&routerInfo.ServiceName)
|
||||
if routerId ==0 {
|
||||
routerId = r.loadBalance.SelectNode(routerInfo.ServiceName)
|
||||
routerId = r.loadBalance.SelectNode(routerInfo.ServiceName,clientId,eventType,0,nil)
|
||||
r.SetRouterId(clientId,routerInfo.ServiceName,routerId)
|
||||
}
|
||||
|
||||
|
||||
@@ -8,11 +8,6 @@ import (
|
||||
"github.com/duanhf2012/origin/sysservice/tcpservice"
|
||||
)
|
||||
|
||||
func init(){
|
||||
node.Setup(&tcpservice.TcpService{})
|
||||
node.Setup(&TcpGateService{})
|
||||
}
|
||||
|
||||
type MsgTypeRouterInfo struct {
|
||||
router IRouter
|
||||
serviceName string
|
||||
|
||||
Reference in New Issue
Block a user