| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package nacos
- import (
- "errors"
- "git.shuncheng.lu/bigthing/gocommon/pkg/internal/util"
- "git.shuncheng.lu/bigthing/gocommon/pkg/conf"
- "git.shuncheng.lu/bigthing/gocommon/pkg/internal/nacos"
- "github.com/nacos-group/nacos-sdk-go/vo"
- )
- var (
- registerClientInfo *nacos.NamingInfo
- )
- // 兼容历史版本!有些手动调用的!
- func InitNacosRegisterClient() error {
- info, err := nacos.NewNacosNameClient(nacos.NacosRegister, conf.SetAndAssertNil)
- if err != nil {
- return err
- }
- err = exportCurrentServer(info)
- if err != nil {
- return err
- }
- registerClientInfo = info
- return nil
- }
- func InitNacosRegisterClientV2() error {
- info, err := nacos.NewNacosNameClient(nacos.NacosRegister, conf.SetAndAssertNil)
- if err != nil {
- return err
- }
- registerClientInfo = info
- return nil
- }
- func StartNacosRegisterClientV2() error {
- // todo 考虑是否sleep一会等服务真正启动!!
- if err := exportCurrentServer(registerClientInfo); err != nil {
- return err
- }
- util.Infof("nacos regist server success !!")
- return nil
- }
- /**
- 暴露当前服务
- */
- func exportCurrentServer(info *nacos.NamingInfo) error {
- success, err := info.RegisterInstance(vo.RegisterInstanceParam{
- Ip: info.ServerHost,
- Port: info.ServerPort,
- ServiceName: info.ProjectName,
- Weight: 10,
- Enable: true,
- Healthy: true,
- Ephemeral: true,
- Metadata: map[string]string{"idc": "shanghai"},
- ClusterName: info.ClusterName, // default value is DEFAULT
- GroupName: info.GroupName, // default value is DEFAULT_GROUP
- })
- if err != nil {
- return err
- }
- if !success {
- return errors.New("nacos register err")
- }
- return nil
- }
|