loric

package module
v0.0.0-...-457ba4f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 30, 2023 License: MIT Imports: 10 Imported by: 0

README

loric

Go Reference

1.介绍

loric 是一款基于golang的分布式游戏服务器框架

2.功能
  • 网关:tcp协议的网关服务器
  • 节点通信:grpc 带有连接池,断线自动重连, 和grpc-conn-pool这个实现一致
  • 日志:基于zap
  • 服务发现注册:支持etcd, 提供配套的etcd管理client
  • 协议:支持protobuf、json
  • 配置: 基于viper
  • 游戏常用技术(见gkit):异步操作 、定时任务及守护任务 、延迟保存、时间轮
  • 集成服务权重,通过设置权重,达到流量控制,另一层面实现热更新效果。
  • gm管理系统
3.安装项目和依赖工具
go get github.com/cr-mao/loric@v0.0.0
# protobuf 编译
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
# grpc通信
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2

# https://github.com/protocolbuffers/protobuf/releases/tag/v23.4
4.tcp协议
-------------------------------
| len | seq | route | message |
-------------------------------

说明:

  1. 使用tcp协议时,为了解决粘包问题,还应在包前面加上包长度len,固定为4字节,使用大端序编码
  2. seq表示请求序列号 4字节,常用于请求、响应对的确认。
  3. route表示消息路由 2字节,不同的路由对应不同的业务处理流程。
  4. message表示消息体,采用json或protobuf编码。
  5. 心跳包 包长度len,固定为4字节, 包长度固定为0。
框架相关文档

框架相关文档

参考

Documentation

Index

Constants

View Source
const Version = "v0.0.0"

loric version

View Source
const Website = "https://github.com/cr-mao/loric"

loric website

Variables

This section is empty.

Functions

This section is empty.

Types

type Container

type Container struct {
	// contains filtered or unexported fields
}

func NewContainer

func NewContainer() *Container

NewContainer 创建一个容器

func (*Container) Add

func (c *Container) Add(components ...component.Component)

Add 添加组件

func (*Container) Serve

func (c *Container) Serve()

Serve 启动容器

Directories

Path Synopsis
* User: cr-mao Date: 2023/8/19 03:39 Email: crmao@qq.com Desc: transport.go
* User: cr-mao Date: 2023/8/19 03:39 Email: crmao@qq.com Desc: transport.go
gate
* User: cr-mao Date: 2023/8/19 10:06 Email: crmao@qq.com Desc: constant.go
* User: cr-mao Date: 2023/8/19 10:06 Email: crmao@qq.com Desc: constant.go
node
* User: cr-mao Date: 2023/8/19 20:16 Email: crmao@qq.com Desc: config_const.go
* User: cr-mao Date: 2023/8/19 20:16 Email: crmao@qq.com Desc: config_const.go
Package config 负责配置信息
Package config 负责配置信息
Package errors provides simple error handling primitives.
Package errors provides simple error handling primitives.
example
auth
* User: cr-mao Date: 2023/8/23 11:35 Email: crmao@qq.com Desc: main.go
* User: cr-mao Date: 2023/8/23 11:35 Email: crmao@qq.com Desc: main.go
auth/controller
* User: cr-mao Date: 2023/8/24 13:54 Email: crmao@qq.com Desc: login.go
* User: cr-mao Date: 2023/8/24 13:54 Email: crmao@qq.com Desc: login.go
auth/global
* User: cr-mao Date: 2023/8/30 11:43 Email: crmao@qq.com Desc: 全局变量都在这个包里面
* User: cr-mao Date: 2023/8/30 11:43 Email: crmao@qq.com Desc: 全局变量都在这个包里面
auth/router
* User: cr-mao Date: 2023/8/23 15:25 Email: crmao@qq.com Desc: router.go
* User: cr-mao Date: 2023/8/23 15:25 Email: crmao@qq.com Desc: router.go
concurrency_client
* User: cr-mao Date: 2023/8/25 Time: 15:38 Desc: 模拟app多客户端
* User: cr-mao Date: 2023/8/25 Time: 15:38 Desc: 模拟app多客户端
gate
* User: cr-mao Date: 2023/7/31 Time: 15:09 Desc: main.go
* User: cr-mao Date: 2023/7/31 Time: 15:09 Desc: main.go
limeng_chat
* User: cr-mao Date: 2023/8/23 11:35 Email: crmao@qq.com Desc: main.go
* User: cr-mao Date: 2023/8/23 11:35 Email: crmao@qq.com Desc: main.go
limeng_chat/controller
* User: cr-mao Date: 2023/8/24 13:52 Email: crmao@qq.com Desc: event.go
* User: cr-mao Date: 2023/8/24 13:52 Email: crmao@qq.com Desc: event.go
limeng_chat/manager
* User: cr-mao Date: 2023/8/30 11:43 Email: crmao@qq.com Desc: 全局变量都在这个包里面
* User: cr-mao Date: 2023/8/30 11:43 Email: crmao@qq.com Desc: 全局变量都在这个包里面
limeng_chat/router
* User: cr-mao Date: 2023/8/23 15:25 Email: crmao@qq.com Desc: router.go
* User: cr-mao Date: 2023/8/23 15:25 Email: crmao@qq.com Desc: router.go
limeng_chat1
* User: cr-mao Date: 2023/8/23 11:35 Email: crmao@qq.com Desc: main.go
* User: cr-mao Date: 2023/8/23 11:35 Email: crmao@qq.com Desc: main.go
limeng_chat1/controller
* User: cr-mao Date: 2023/8/24 13:52 Email: crmao@qq.com Desc: event.go
* User: cr-mao Date: 2023/8/24 13:52 Email: crmao@qq.com Desc: event.go
limeng_chat1/manager
* User: cr-mao Date: 2023/8/30 11:43 Email: crmao@qq.com Desc: 全局变量都在这个包里面
* User: cr-mao Date: 2023/8/30 11:43 Email: crmao@qq.com Desc: 全局变量都在这个包里面
limeng_chat1/router
* User: cr-mao Date: 2023/8/23 15:25 Email: crmao@qq.com Desc: router.go
* User: cr-mao Date: 2023/8/23 15:25 Email: crmao@qq.com Desc: router.go
job
lazy_save
* User: cr-mao Date: 2023/8/3 09:01 Email: crmao@qq.com Desc: discard.go
* User: cr-mao Date: 2023/8/3 09:01 Email: crmao@qq.com Desc: discard.go
single_locker
* User: cr-mao Date: 2023/10/11 09:29 Email: crmao@qq.com Desc: 单进程全局锁, 不适用分布式锁。
* User: cr-mao Date: 2023/10/11 09:29 Email: crmao@qq.com Desc: 单进程全局锁, 不适用分布式锁。
internal
log
zap
tcp
etcd
* User: cr-mao Date: 2023/11/30 14:03 Email: crmao@qq.com Desc: 给管理后台用的。
* User: cr-mao Date: 2023/11/30 14:03 Email: crmao@qq.com Desc: 给管理后台用的。
etcdclient
* User: cr-mao Date: 2023/9/5 18:28 Email: crmao@qq.com Desc: etcd.go
* User: cr-mao Date: 2023/9/5 18:28 Email: crmao@qq.com Desc: etcd.go
* User: cr-mao Date: 2023/8/23 17:16 Email: crmao@qq.com Desc: func.go
* User: cr-mao Date: 2023/8/23 17:16 Email: crmao@qq.com Desc: func.go
grand
* User: cr-mao Date: 2023/10/31 13:36 Email: crmao@qq.com Desc: rand.go
* User: cr-mao Date: 2023/10/31 13:36 Email: crmao@qq.com Desc: rand.go
gslice
* User: cr-mao Date: 2023/8/30 15:40 Email: crmao@qq.com Desc: slice.go
* User: cr-mao Date: 2023/8/30 15:40 Email: crmao@qq.com Desc: slice.go
gstring
* User: cr-mao Date: 2023/11/1 19:22 Email: crmao@qq.com Desc: gstring.go
* User: cr-mao Date: 2023/11/1 19:22 Email: crmao@qq.com Desc: gstring.go
gtime
* User: cr-mao Date: 2023/10/29 09:37 Email: crmao@qq.com Desc: time.go
* User: cr-mao Date: 2023/10/29 09:37 Email: crmao@qq.com Desc: time.go
* User: cr-mao Date: 2023/11/17 11:29 Email: crmao@qq.com Desc: task.go
* User: cr-mao Date: 2023/11/17 11:29 Email: crmao@qq.com Desc: task.go
* User: cr-mao Date: 2023/8/17 14:03 Email: crmao@qq.com Desc: 传输器接口
* User: cr-mao Date: 2023/8/17 14:03 Email: crmao@qq.com Desc: 传输器接口
grpc
* User: cr-mao Date: 2023/8/17 14:27 Email: crmao@qq.com Desc: server.go
* User: cr-mao Date: 2023/8/17 14:27 Email: crmao@qq.com Desc: server.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL