一、首页

        Nacos(Naming and Configuration Service)是一个用于实现服务注册和发现的开源项目。Nacos注册服务的主要作用是帮助微服务架构中的各个服务实例进行注册和发现,以便于服务之间的通信和协作,另外,也可以在nacos上简历一些配置,服务可以获取配置,便于配置的修改管理

        本篇主要是python 登陆nacos平台,对grpc服务(也可以是http服务)注册的示例

二、代码

import nacos
import time , sys

from util import getLocalIp

client = ""
 
 
# Nacos服务器地址
ServerAddr = "127.0.0.1"
# IP: 本地IP
#Ip = "10.1.43.155"  ,这个也是服务所在的电脑ip
Ip = getLocalIp()
# 命名空间ID
NameSpace = "2cde5995-7aca-44eb-9dbb-614a6a86ab34"
# 用户名
UserName = "xxxxx"
# 密码
PassWord = "xxxxx"
# DataId
DataId = "nomadfsf"
# group
GroupName = "pro123"
# 服务名称,一般为工程名字,如:pro123_request
ServerName = GroupName + "_" + DataId + ".grpc"
#端口号是20400
Port = 20400
 
 

def regServer():
    # 创建连接
    global client
    client = nacos.NacosClient(ServerAddr,
                           namespace=NameSpace,
                           username=UserName,
                           password=PassWord)
    # 获取配置
    #config = client.get_config(DataId, GroupName)
    #print(config)   

    # 注册服务
    # service_name:服务名称,一般从远程获取的配置中取,key为Name
    # port:端口,一般从远程获取的配置中取,key为port
    # ip: 本服务运行的地址,如在本机运行,则写本机IP
    # cluster_name: 集群名称,一般RPC服务为RPC_SERVER
    # group_name: 组,一般与项目同名  
    #  remove_naming_instance
    client.add_naming_instance(service_name=ServerName,   
                           ip=Ip,
                           port=Port,
                           cluster_name="RPC_SERVER",
                           group_name=GroupName  ,  
                           ephemeral = False  )   # ephemeral设置为True 则表示默认,设置为临时示例,需要每隔15s发送一次心跳维持,为False则为永久示例


def removeInstance():
    #这个是移除实例的代码
    global client
    client.remove_naming_instance(service_name=ServerName,   
                           ip=Ip,
                           port=Port,
                           cluster_name="RPC_SERVER",
                           group_name=GroupName  ,  
                           ephemeral = False  )        





三、结果分析

可在nacos平台获取配置

    

可在nacos平台注册上服务以及注销服务

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐