mugo-core

module
v0.0.0-...-3153823 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2020 License: MIT

README

简述

mugo-core,本质是一个多进程内的消息分发器

说明

  • 一个进程由一个service组成,每一个service具有同步或者异步调用其它进程service的能力
  • component称为组件,每一个service会挂载一个或者多个组件,比如同时挂载AuthComponentGatewayComponent,那么这个进程具有验证服务器和网关服务器的功能

其它语言

目录

  • broker 异步通信,主要用于消息发布与订阅,支持 nats
  • codec 消息的编码与解码
  • component 组件
  • logger 日志
  • network 网络模块
    • client 封装客户端,用于测试
    • crypto 消息的加密与解密
    • datapack 用于通信协议中消息(Message)的封包与解包
    • peer 各种通讯协议,比如 tcpwebsocket
    • session 表示服务端与客户端的一条连接,也称为会话
  • registry 服务注册与发现,支持 etcd
  • router 消息处理,消息路由
  • rpc 远程调用,通过 transport 实现
  • service 服务间的内部调用与监听,封装rpc实现
  • selector 服务均衡负载
  • transport 同步通信,主要用于实现rpc调用,支持 nats

示例

example 目录

  • echo: 简单的应答服务器
  • simple: 多进程服务器

Directories

Path Synopsis
Package broker 异步通信,保障可靠性
Package broker 异步通信,保障可靠性
nats
Package nats 封装异步通信 TODO 保证可靠性 nats-stream
Package nats 封装异步通信 TODO 保证可靠性 nats-stream
Package codec 编码与解码器
Package codec 编码与解码器
Package component 服务组件,表示一个服务器拥有哪些能力 假设当前有 GateComponent, AccountComponent, MailComponet 这三个组件 单服: 启动一个服务器,同时添加以上三个组件 分布式服:分别启动三个服务器,每个服务器添加一个组件
Package component 服务组件,表示一个服务器拥有哪些能力 假设当前有 GateComponent, AccountComponent, MailComponet 这三个组件 单服: 启动一个服务器,同时添加以上三个组件 分布式服:分别启动三个服务器,每个服务器添加一个组件
example
Package logger 日志模块 务必先调用 Init 进行初始化
Package logger 日志模块 务必先调用 Init 进行初始化
Package network 网络模块
Package network 网络模块
client
Package client 用于连接 peer
Package client 用于连接 peer
client/tcp
Package tcp TCP 客户端
Package tcp TCP 客户端
crypto
Package crypto 客户端与服务端收发消息时的加密与解密
Package crypto 客户端与服务端收发消息时的加密与解密
crypto/rc4
Package rc4 封装 crypto/rc4
Package rc4 封装 crypto/rc4
datapack
Package datapack 通讯数据封包与解包
Package datapack 通讯数据封包与解包
datapack/fixedlen
Package fixedlen : header + payload header: '负载长度(U16)' + '标记(U16)' + '自增编号(U16)' + '消息编号(U16)' payload: 负载,即消息内容,使用 codec 进行编码与解码 对于标记见 flag.go
Package fixedlen : header + payload header: '负载长度(U16)' + '标记(U16)' + '自增编号(U16)' + '消息编号(U16)' payload: 负载,即消息内容,使用 codec 进行编码与解码 对于标记见 flag.go
peer
Package peer 通讯协议,当前支持 tcp 和 websocket
Package peer 通讯协议,当前支持 tcp 和 websocket
peer/tcp
Package tcp TCP 服务器
Package tcp TCP 服务器
session
Package session 表示与客户端的一条连接,也称为会话
Package session 表示与客户端的一条连接,也称为会话
Package registry 缓存 services,这样就不必每次都从对应的服务器拉取数据 Package registry 服务注册与发现
Package registry 缓存 services,这样就不必每次都从对应的服务器拉取数据 Package registry 服务注册与发现
etcdv3
Package etcdv3 ...
Package etcdv3 ...
Package router 消息处理
Package router 消息处理
Package rpc 远程调用
Package rpc 远程调用
Package selector 服务均衡负载
Package selector 服务均衡负载
Package service 服务间的内部调用与监听,封装了`transport`,同时也封装了`broker`方便进行消息发布与订阅
Package service 服务间的内部调用与监听,封装了`transport`,同时也封装了`broker`方便进行消息发布与订阅
Package transport 同步通信
Package transport 同步通信
nats
Package nats 封装同步通信
Package nats 封装同步通信

Jump to

Keyboard shortcuts

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