sinking_sdk_go

package module
v0.0.0-...-c4b74be Latest Latest
Warning

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

Go to latest
Published: Sep 21, 2023 License: MIT Imports: 16 Imported by: 2

Documentation

Index

Constants

View Source
const (
	Rand = iota //随机
	Poll        //轮询
	Only        //只请求第一个
)

Variables

View Source
var (
	OnlineStatus     = true
	OnlineStatusLock sync.RWMutex
)

Functions

func Md5Encode

func Md5Encode(data string) string

Md5Encode md5加密

Types

type Config

type Config struct {
	AppName   string `json:"app_name"`
	EnvName   string `json:"env_name"`
	GroupName string `json:"group_name"`
	Name      string `json:"name"`
	Content   string `json:"content"`
	Hash      string `json:"hash"`
	Type      string `json:"type"`
	Status    int    `json:"status"`
	// contains filtered or unexported fields
}

Config 配置结构体

type Consistent

type Consistent struct {

	//虚拟节点个数,用来增加hash的平衡性
	VirtualNode int
	//map 读写锁
	sync.RWMutex
	// contains filtered or unexported fields
}

Consistent 创建结构体保存一致性hash信息

func NewConsistent

func NewConsistent() *Consistent

NewConsistent 创建一致性hash算法结构体,设置默认节点数量

func (*Consistent) Add

func (c *Consistent) Add(element string)

Add 向hash环中添加节点

func (*Consistent) Get

func (c *Consistent) Get(name string) (string, error)

Get 根据数据标示获取最近的服务器节点信息

func (*Consistent) Remove

func (c *Consistent) Remove(element string)

Remove 删除一个节点

type Param

type Param map[string]interface{}

Param 参数构建

type Register

type Register struct {
	Servers   string `json:"-"`          //注册中心
	TokenName string `json:"-"`          //通信密匙名称
	Token     string `json:"-"`          //通信密匙
	Name      string `json:"name"`       //服务名称
	AppName   string `json:"app_name"`   //所属应用
	EnvName   string `json:"env_name"`   //环境标识
	GroupName string `json:"group_name"` //分组名称
	Addr      string `json:"addr"`       //服务地址(规则ip:port)
	// contains filtered or unexported fields
}

Register 注册中心

func New

func New(server string, tokenName string, token string, appName string, envName string) *Register

New 实例化

func (*Register) Config

func (r *Register) Config(groupName string) *configBuild

Config 实例化config

func (*Register) GetService

func (r *Register) GetService(groupName string, name string, mode int) (*Service, bool)

GetService 获取随机节点(负载均衡)

func (*Register) GetServiceAddrByHash

func (r *Register) GetServiceAddrByHash(groupName string, name string, hash string) (string, bool)

GetServiceAddrByHash 通过hash获取service

func (*Register) Listen

func (r *Register) Listen()

Listen 监听配置变动及发送服务心跳

func (*Register) Register

func (r *Register) Register(groupName string, name string, addr string) *Register

Register 注册服务

func (*Register) Rpc

func (r *Register) Rpc(groupName string, name string) *rpcRequestBuild

Rpc 构建远程调用服务名

func (*Register) SetOnline

func (r *Register) SetOnline(online bool, imEf bool)

SetOnline 设置服务上线下线

func (*Register) UseService

func (r *Register) UseService(use map[string][]string) *Register

UseService 使用服务

type RequestServer

type RequestServer struct {
	Server    string //注册中心
	TokenName string //通信密匙名称
	Token     string //通信密匙
}

type Service

type Service struct {
	Name          string `json:"name"`
	AppName       string `json:"app_name"`
	EnvName       string `json:"env_name"`
	GroupName     string `json:"group_name"`
	Addr          string `json:"addr"`
	ServiceHash   string `json:"service_hash"`
	LastHeartTime int64  `json:"last_heart_time"`
	Status        int    `json:"status"`
}

Service 服务列表

Jump to

Keyboard shortcuts

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