• Nacos 微服务注册发现配置中心


    简介

    python 客户端

    from io import StringIO
    from app.customized.nacos_conf.settings import (
        SERVER_ADDRESSES,
        NAMESPACE,
        DATA_ID,
        GROUP,
    )
    from nacos import NacosClient
    import configparser
    
    
    def get_config():
        # no auth mode
        client = NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE)
        # auth mode
        # client = nacos.NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE, username="nacos", password="nacos")
        # get config
        nacos_conf = client.get_config(DATA_ID, GROUP)
        parser = configparser.ConfigParser()
        like_file = StringIO(nacos_conf)
        parser.read_file(like_file)
        # parser.get("dev", "ES_SERVER")
        return parser
    
    
    def register_service(**register_info):
        # service_name = register_info.get("service_name")
        # ip = register_info.get("ip")
        # port = register_info.get("port")
        # cluster_name = register_info.get("cluster_name")
        # weight = register_info.get("weight")
        # metadata = register_info.get("metadata")
        # enable = register_info.get("enable")
        # healthy = register_info.get("healthy")
        client = NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE)
        client.add_naming_instance(**register_info)
    
    
    def nacos_watcher():
        watch_info = "watcher"
        print(watch_info)
        return watch_info
    
    
    def send_heartbeat():
        client = NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE)
        res = client.send_heartbeat(
            "test.pole-recommender", "192.168.60.86", 5000, "testCluster2", 0.1, "{}"
        )["clientBeatInterval"]
        print(res)
    
    
    if __name__ == "__main__":
        get_config()
        # nacos.NacosClient.add_config_watchers(DATA_ID, GROUP, nacos_watcher)
    
        register_info = dict(
            service_name="test.pole-recommender",
            ip="192.168.60.86",
            port=5000,
            cluster_name="testCluster2",
            weight=1.0,
            metadata="{}",
            enable=True,
            healthy=True,
            ephemeral=False,
        )
        register_service(**register_info)
    
        send_heartbeat()
        # content='publish info'
        # timeout = 60
        # nacos.NacosClient.publish_config(DATA_ID, GROUP, content, timeout)
    
        # nacos.NacosClient.set_debugging()
        # only effective within the current process
    
    
  • 相关阅读:
    Infopath Notify 弹出提示信息
    window.showModalDialog 返回值
    【转】获得正文内容中的所有img标签的图片路径
    Json Datable Convert
    Sharepoint 列表 附件 小功能
    Surgey 权限更改
    SQL 触发器用于IP记录转换
    Caml语句 查询分配给当前用户及当前组
    jquery 1.3.2 auto referenced when new web application in VSTS2010(DEV10)
    TFS diff/merge configuration
  • 原文地址:https://www.cnblogs.com/Frank99/p/14118556.html
Copyright © 2020-2023  润新知