nacosx

package
v1.2.5 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2023 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	YAML       = "yaml"
	YML        = "yml"
	JSON       = "json"
	PROPERTIES = "properties"
)
View Source
const (
	ConfigAndNaming = iota // 配置中心和服务发现都使用
	OnlyConfig             // 仅用配置中心
	OnlyNaming             // 仅用服务发现
)

Variables

This section is empty.

Functions

func InitConfigClient

func InitConfigClient()

初始化Nacos配置客户端

func InitNacos added in v1.2.4

func InitNacos(mode int)

func InitNacosCTL added in v1.2.4

func InitNacosCTL()

func InitNacosConfigMonitor

func InitNacosConfigMonitor()

初始化nacos配置监听

func InitNamingClient

func InitNamingClient()

初始化nacos服务发现客户端

func ListenConfigChange

func ListenConfigChange(param vo.ConfigParam) error

监听nacos配置改动

func LoadNacosConfig added in v1.2.4

func LoadNacosConfig(list ConfigItemList, appName string, config interface{})

加载nacos配置

func RegisterInstance

func RegisterInstance(server ServerConfig)

注册Nacos服务实例

func SelectInstances

func SelectInstances(serviceName, groupName string) (addrs []string, err error)

获取所有健康服务实例

func SelectOneHealthyInstance

func SelectOneHealthyInstance(serviceName, groupName string) (addr string, err error)

随机获取一个健康的服务实例

Types

type Config

type Config struct {
	NacosAddress string `yaml:"nacosAddress" default:"localhost:8849"` // NACOS服务地址,多个以英文逗号分割
	ContextPath  string `yaml:"contextPath" default:"/nacos"`          // web访问路径
	Username     string `yaml:"username" default:"nacos"`              // 用户名
	Password     string `yaml:"password" default:"nacos"`              // 密码
	Mode         int    `yaml:"mode" default:"0"`                      // 模式(0-配置中心和服务发现都用;1-仅用配置中心;2-仅用服务发现)
	NameSpace    string `yaml:"nameSpace" default:"public"`            // 命名空间
	LogDir       string `yaml:"logDir" default:".nacos/log"`           // 日志文件夹
	CacheDir     string `yaml:"cacheDir" default:".nacos/cache"`       // 缓存文件夹
}

nacos访问配置

var CONFIG *Config

func (*Config) ClientConfig

func (conf *Config) ClientConfig() *constant.ClientConfig

nacos客户端配置

func (*Config) ServerConfigList

func (conf *Config) ServerConfigList() []constant.ServerConfig

nacos服务中间件配置

type ConfigItem

type ConfigItem struct {
	Name   string `json:"name" yaml:"name"`     // 配置项
	Group  string `json:"group" yaml:"group"`   // 配置分组
	DataId string `json:"dataId" yaml:"dataId"` // 配置文件ID
	Listen bool   `json:"listen" yaml:"listen"` // 是否监听
}

func (ConfigItem) Format added in v1.2.2

func (item ConfigItem) Format() string

配置信息格式化

func (ConfigItem) LoadNacosConfig

func (item ConfigItem) LoadNacosConfig(config interface{}) (err error)

加载nacos配置

func (ConfigItem) Transform

func (item ConfigItem) Transform() vo.ConfigParam

转化配置项

func (ConfigItem) Type

func (item ConfigItem) Type() (confType string)

获取配置文件类型

type ConfigItemList

type ConfigItemList []ConfigItem

配置项

func (ConfigItemList) Get

func (list ConfigItemList) Get(name string) ConfigItem

根据配置名获取配置

func (ConfigItemList) LoadNacosConfig added in v1.2.4

func (list ConfigItemList) LoadNacosConfig(config interface{}) (err error)

批量加载nacos配置

func (ConfigItemList) Separate added in v1.2.5

func (list ConfigItemList) Separate(name string) (ConfigItem, ConfigItemList)

将配置项进行单项分离

type Control added in v1.2.4

type Control struct {
	Config       *Config                     // nacos配置
	ConfigClient config_client.IConfigClient // nacos配置中心客户端
	NamingClient naming_client.INamingClient // nacos服务发现客户端
}
var CTL *Control

type Monitor

type Monitor struct {
	Datas     map[string]map[string]*MonitorData // 配置数据
	ConfigNum int                                // 配置数量
	// contains filtered or unexported fields
}

nacos配置监听

var ConfigMonitor *Monitor

func (*Monitor) AddConfigData

func (m *Monitor) AddConfigData(group, dataId, content string)

新增nacos配置监听

func (*Monitor) GetConfigData

func (m *Monitor) GetConfigData(group, dataId string) (*MonitorData, bool)

获取nacos配置

func (*Monitor) UpdateConfigData

func (m *Monitor) UpdateConfigData(group, dataId, content string) bool

修改nacos配置信息

type MonitorData added in v1.2.2

type MonitorData struct {
	Group      string // 配置分组
	DataId     string // 配置文件ID
	Content    string // 配置内容
	Changed    bool   // 修改标识
	UpdateTime int64  // 修改时间
}

监听配置数据

type ServerConfig

type ServerConfig struct {
	Ip    string `yaml:"ip"`    // IP
	Port  string `yaml:"port"`  // 端口
	Group string `yaml:"group"` // 分组
	Name  string `yaml:"name"`  // 名称
}

服务注册

func (ServerConfig) Format

func (s ServerConfig) Format() string

Jump to

Keyboard shortcuts

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