node

package
v0.0.0-...-cf8e561 Latest Latest
Warning

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

Go to latest
Published: May 6, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

node相关的mqtt处理

node 已知的节点上线

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DistributeID

func DistributeID(id int, addr string, port int)

为新node分配id,将id发送至node节点

func FindNodeMysql

func FindNodeMysql(id int) (node db.Node, err error)

根据node的id,在MySQL中获取该node的地址、端口信息

func FindNodeRds

func FindNodeRds(id int) (addr string, port string, err error)

根据node的id,在Redis获取该node的地址、端口信息

func FormatPayloadOldNode

func FormatPayloadOldNode(payload *[]byte) (*db.Node, error)

格式化mqtt传入数据-旧节点

func HeartbeatHandler

func HeartbeatHandler(client mq.Client, msg mq.Message)

func InsertHeartBeatRedis

func InsertHeartBeatRedis(hbData *HeartBeat) error

func InsertNodeMysql

func InsertNodeMysql(addr string, port int) (int, error)

将node的单个数据写入MySQL,返回此node的id (未来优化性能入手点之一)

func InsertNodeRedis

func InsertNodeRedis(node *db.Node) error

将nodes的单个数据写入redis

func ListenNode

func ListenNode()

绑定目mqtt监听

func NewNodeonHandler

func NewNodeonHandler(client mq.Client, msg mq.Message)

新node节点上线,分配id

func NodeOnCheck

func NodeOnCheck(node *db.Node) (bool, error)

主动检测node是否还活着。如果err不为nil,则检测失败

func NodeOnConfirm

func NodeOnConfirm(node *db.Node)

确认节点上线 发送至node

func OldNodeonHandler

func OldNodeonHandler(client mq.Client, msg mq.Message)

旧node节点上线

func UpdateNodeMysql

func UpdateNodeMysql(node *db.Node) error

更新已有node的信息至MySQL

Types

type HeartBeat

type HeartBeat struct {
	ID   int `json:"id"`
	CPU  int `json:"cpu"`
	Mem  int `json:"mem"`
	Disk int `json:"disk"`
}

func FormatPayloadHeartbeat

func FormatPayloadHeartbeat(payload *[]byte) (hbData *HeartBeat)

type NewNodeOn

type NewNodeOn struct {
	Addr string `json:"addr"`
	Port int    `json:"port"`
}

新节点上线的mqtt数据结构

func FormatPayloadNewNode

func FormatPayloadNewNode(payload *[]byte) (*NewNodeOn, error)

格式化mqtt传入数据-新节点

type OldNodeOn

type OldNodeOn struct {
	ID   int    `json:"id"`
	Addr string `json:"addr"`
	Port int    `json:"port"`
}

有ID的旧节点上线

Jump to

Keyboard shortcuts

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