mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 14:22:26 +08:00
添加了节点服务器,各个服务器之间支持多对多
This commit is contained in:
@@ -8,11 +8,9 @@ import (
|
||||
"time"
|
||||
|
||||
"hk4e/common/config"
|
||||
"hk4e/common/rpc"
|
||||
"hk4e/gm/controller"
|
||||
"hk4e/gm/rpc_client"
|
||||
"hk4e/pkg/logger"
|
||||
|
||||
"github.com/nats-io/nats.go"
|
||||
)
|
||||
|
||||
func Run(ctx context.Context, configFile string) error {
|
||||
@@ -21,18 +19,12 @@ func Run(ctx context.Context, configFile string) error {
|
||||
logger.InitLogger("gm")
|
||||
logger.Warn("gm start")
|
||||
|
||||
conn, err := nats.Connect(config.CONF.MQ.NatsUrl)
|
||||
client, err := rpc.NewClient()
|
||||
if err != nil {
|
||||
logger.Error("connect nats error: %v", err)
|
||||
return err
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
rpc, err := rpc_client.New(conn)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_ = controller.NewController(rpc)
|
||||
_ = controller.NewController(client.GM)
|
||||
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
|
||||
|
||||
@@ -5,19 +5,19 @@ import (
|
||||
"strconv"
|
||||
|
||||
"hk4e/common/config"
|
||||
"hk4e/gm/rpc_client"
|
||||
"hk4e/common/rpc"
|
||||
"hk4e/pkg/logger"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type Controller struct {
|
||||
rpc *rpc_client.Client
|
||||
gm *rpc.GMClient
|
||||
}
|
||||
|
||||
func NewController(rpc *rpc_client.Client) (r *Controller) {
|
||||
func NewController(gm *rpc.GMClient) (r *Controller) {
|
||||
r = new(Controller)
|
||||
r.rpc = rpc
|
||||
r.gm = gm
|
||||
go r.registerRouter()
|
||||
return r
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ func (c *Controller) gmCmd(context *gin.Context) {
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
rep, err := c.rpc.Cmd(context.Request.Context(), &api.CmdRequest{
|
||||
rep, err := c.gm.Cmd(context.Request.Context(), &api.CmdRequest{
|
||||
FuncName: gmCmdReq.FuncName,
|
||||
Param: gmCmdReq.Param,
|
||||
})
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
// Package rpc_client rpc客户端
|
||||
package rpc_client
|
||||
|
||||
import (
|
||||
"hk4e/gs/api"
|
||||
|
||||
"github.com/nats-io/nats.go"
|
||||
"github.com/nats-io/nats.go/encoders/protobuf"
|
||||
)
|
||||
|
||||
// Client rpc客户端
|
||||
type Client struct {
|
||||
api.GMNATSRPCClient
|
||||
}
|
||||
|
||||
// New 构造
|
||||
func New(conn *nats.Conn) (*Client, error) {
|
||||
enc, err := nats.NewEncodedConn(conn, protobuf.PROTOBUF_ENCODER)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
cli, err := api.NewGMNATSRPCClient(enc)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &Client{
|
||||
GMNATSRPCClient: cli,
|
||||
}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user