services

package
v0.0.0-...-ee7ecfe Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2019 License: Apache-2.0 Imports: 5 Imported by: 0

README

services包介绍

services包是微服务开发的基础组件。
gateway:支持通用的tcp/websocket。
service:支持通用的微服务。
discovery:服务注册和发现(基于本地配置no-watching)。
不足与缺陷:
1 服务发现、服务治理比较粗糙。
2 消息路由未采用较流行的类url,而是直接采用消息id分段机制,消息路由规则定制很方便,可以简单修改,定制任意的规则。
3 由于gateway针对每条连接都是新增一个go进程作为目标service的路由进程,所以暂时只内置了一个
router进程。
优点:
1 对于游戏开发:特别适用于小服(小地图多副本)开发,对大服(无缝大世界)暂时支持不够,需要持续开发。
2 对于其他实时流业务,本框架都能很好的提供支持,也是gserver一开始的定位:Gen-Server-Engine

Documentation

Overview

简单的handler管理器 非线程安全

内部错误封装 base on protobuff

Package services is a generated protocol buffer package.

It is generated from these files:

inner.proto

It has these top-level messages:

HeartbeatReq
HeartbeatAck
ErrorAck

Index

Constants

View Source
const (
	CLOSE_CONNECT = 10 // 连接关闭
)

Variables

This section is empty.

Functions

func GetHandler

func GetHandler(id uint16) handler

func NewInError

func NewInError(err error) []byte

构建一个gataway通用内部错误(errid=0) @params err:错误描述

func NewLogicError

func NewLogicError(id int) []byte

构建一个gataway通用业务错误 @params id:错误码

func NewSInError

func NewSInError(err error) *network.Data_Frame

构建一个service通用内部错误(errid=1) @params err:错误描述

func NewSLogicError

func NewSLogicError(id int) *network.Data_Frame

构建一个service通用业务错误 @params id:错误码

func Register

func Register(id uint16, hand handler)

func UnRegister

func UnRegister(id uint16)

Types

type ErrorAck

type ErrorAck struct {
	Errid            *int32  `protobuf:"varint,1,req,name=errid" json:"errid,omitempty"`
	Errstr           *string `protobuf:"bytes,2,req,name=errstr" json:"errstr,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

通用的错误回复2

func (*ErrorAck) Descriptor

func (*ErrorAck) Descriptor() ([]byte, []int)

func (*ErrorAck) GetErrid

func (m *ErrorAck) GetErrid() int32

func (*ErrorAck) GetErrstr

func (m *ErrorAck) GetErrstr() string

func (*ErrorAck) ProtoMessage

func (*ErrorAck) ProtoMessage()

func (*ErrorAck) Reset

func (m *ErrorAck) Reset()

func (*ErrorAck) String

func (m *ErrorAck) String() string

type HeartbeatAck

type HeartbeatAck struct {
	XXX_unrecognized []byte `json:"-"`
}

心跳回复1

func (*HeartbeatAck) Descriptor

func (*HeartbeatAck) Descriptor() ([]byte, []int)

func (*HeartbeatAck) ProtoMessage

func (*HeartbeatAck) ProtoMessage()

func (*HeartbeatAck) Reset

func (m *HeartbeatAck) Reset()

func (*HeartbeatAck) String

func (m *HeartbeatAck) String() string

type HeartbeatReq

type HeartbeatReq struct {
	XXX_unrecognized []byte `json:"-"`
}

心跳请求0

func (*HeartbeatReq) Descriptor

func (*HeartbeatReq) Descriptor() ([]byte, []int)

func (*HeartbeatReq) ProtoMessage

func (*HeartbeatReq) ProtoMessage()

func (*HeartbeatReq) Reset

func (m *HeartbeatReq) Reset()

func (*HeartbeatReq) String

func (m *HeartbeatReq) String() string

type MsgHandler

type MsgHandler struct {
	MsgId      uint16
	MsgHandler handler
}

Directories

Path Synopsis
基于本地配置的服务发现(no wathing) FIXME 可以使用第三方服务发现快速替换本服务
基于本地配置的服务发现(no wathing) FIXME 可以使用第三方服务发现快速替换本服务
通用的代理器 网关接收器 网关发送器:gateway->client 通用的tcp网关 通用的websocket网关
通用的代理器 网关接收器 网关发送器:gateway->client 通用的tcp网关 通用的websocket网关
通用服务
通用服务

Jump to

Keyboard shortcuts

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