KISS - Keep It Simple & Stupid [图片] [图片] KISS原则 是指在设计当中应当注重简约的原则 作者水平有限,欢迎交流和指点,QQ 群: 817937655 安装 go get github.com/nothollyhigh/kiss/... KISS 可以用来做什么? 有的人 ..

发布游戏服务器框架 / 组件包 -KISS(日常用作游戏服务器开发,但不限于游戏服务器开发)

KISS - Keep It Simple & Stupid

MIT licensed
Go Report Card

安装

KISS 可以用来做什么?

  1. 单进程服务器示例
  1. kissgate网关,支持 kiss 格式的 tcp/websocket 连接反向代理到 tcp 服务,支持线路检测、负载均衡、realip 等,常用来做游戏集群的网关,kiss 协议格式详见 net包
  1. 集群是不同功能服务的拆分和实现,每个游戏的需求都可能不一样,请根据实际需求自行设计和实现

KISS 组件包简介

一、net,网络包

  1. Tcp
    可以用做游戏服务器,支持自定义协议格式、压缩、加密等

  2. Websocket
    可以用做游戏服务器,支持自定义协议格式、压缩、加密等

  3. Rpc
    可以灵活使用任意序列化、反序列化,给用户更多自由,如 protobuf、JSON、msgpack、gob 等
    支持服务端异步处理,服务端不必须在方法中处理完调用结果,可以异步处理结束后再发送结果
    不像 GRPC 等需要生成协议、按格式写那么多额外的代码,用法上像写 net/http 包的路由一样简单

  4. Http
    支持优雅退出、pprof 等

二、log,日志包

  1. 日志位置信息,包括文件、行数
  2. 支持文件日志,支持 bufio
  3. 文件日志按时间拆分目录
  4. 文件日志按时间格式切分
  5. 文件日志按 size 切分
  6. 支持钩子对日志做结构化或其他自定义处理

三、sync包

四、timer,定时器

五、event,事件包

六、util,杂货铺

  • KISS
    1 引用 • 4 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    258 引用 • 2760 回帖 • 855 关注
4 回帖
请输入回帖内容...
  • nothollyhigh

    这里用 golang 的人多吗?

    1 回复
  • 88250

    还算行吧,我是其中一个 😄

    1 回复
  • nothollyhigh

    golang 用着蛮爽的😄

    1 回复
  • 88250

    同意 🤝 golang 没有花哨的语法(try 也刚刚被否),让开发者把精力更专注在整体结构上(而不是设计不好时靠语法糖简化),虽然表面上看上去很复古,但实际上这才是编程的精髓。