kudos

package module
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2020 License: MIT Imports: 0 Imported by: 0

README

kudos

kudos是一款基于微服务架构的简洁,高性能,易扩展,易部署的分布式游戏服务框架。基于rpcx的rpc,支持pomelo通信协议,轻松应用于游戏开发。

特点

  • 简单:容易上手,游戏开发需要基本组件和服务都已集成,直接调用。对于熟悉pomelo的特别友好。
  • 组件化:功能分为一个个组件,按需要加载。
  • 分布式:可以分成多个节点分布式部署,也可以打包一起作为一个进程部署。
  • 微服务架构,支持服务发现:consul,etcd,zookeeper等主流注册中心。
  • 基于rpcx的rpc:rpcx是一款高性能的rpc框架。其性能远远高于 Dubbo、Motan、Thrift等框架,是gRPC性能的两倍。支持服务治理。更多功能请参考:http://rpcx.io
  • 跨语言:除go外,还可以访问其它语言实现的节点服务。得益于rpcx。
  • 支持pomelo通信协议:该协议广泛用于各种游戏开发中,支持多端,多种语言版本。
  • 易部署:各服务器独立,无依赖,可以单独启动。

安装

go get -u -v github.com/kudoochui/kudos

开发脚手架(示例)

kudosServer

游戏架构参考

游戏微服务架构设计:MMORPG

游戏微服务架构设计:挂机类游戏

游戏微服务架构设计:棋牌游戏

游戏微服务架构设计:io游戏

Roadmap

功能持续开发中

部署

强烈推荐使用k8s部署,只有和k8s结合,才能领略微服务的真谛。

交流

wiki

QQ交流群:77584553

关注头条号:丁玲隆咚呛 分享更多内容

证书

MIT License

Documentation

Overview

Kudos is a simple, high-performance, easy to expand and easy to deploy distributed game service framework based on microservice architecture, It is based on RPC of rpcx, supports pomelo communication protocol and can be easily applied to game development.

Directories

Path Synopsis
web
Package config is used to parse config.
Package config is used to parse config.
env
Package env is used to parse environment.
Package env is used to parse environment.
xml
Package xml for config provider.
Package xml for config provider.
yaml
Package yaml for config provider depend on github.com/beego/goyaml2 go install github.com/beego/goyaml2 Usage: import( _ "github.com/astaxie/beego/config/yaml" "github.com/astaxie/beego/config" ) cnf, err := config.NewConfig("yaml", "config.yaml") More docs http://beego.me/docs/module/config.md
Package yaml for config provider depend on github.com/beego/goyaml2 go install github.com/beego/goyaml2 Usage: import( _ "github.com/astaxie/beego/config/yaml" "github.com/astaxie/beego/config" ) cnf, err := config.NewConfig("yaml", "config.yaml") More docs http://beego.me/docs/module/config.md
log
beego
Package logs provide a general log interface Usage: import "github.com/astaxie/beego/logs" log := NewLogger(10000) log.SetLogger("console", "") > the first params stand for how many channel Use it like this: log.Trace("trace") log.Info("info") log.Warn("warning") log.Debug("debug") log.Critical("critical") more docs http://beego.me/docs/module/logs.md
Package logs provide a general log interface Usage: import "github.com/astaxie/beego/logs" log := NewLogger(10000) log.SetLogger("console", "") > the first params stand for how many channel Use it like this: log.Trace("trace") log.Info("info") log.Warn("warning") log.Debug("debug") log.Critical("critical") more docs http://beego.me/docs/module/logs.md
beego/alils
Package alils implements the SDK(v0.5.0) of Simple Log Service(abbr.
Package alils implements the SDK(v0.5.0) of Simple Log Service(abbr.
pkg
service
idService
Package snowflake provides a very simple Twitter snowflake generator and parser.
Package snowflake provides a very simple Twitter snowflake generator and parser.

Jump to

Keyboard shortcuts

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