zoukankan      html  css  js  c++  java
  • 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
    
    
  • 相关阅读:
    [Javascript] property function && Enumeration
    [Javascript]3. Improve you speed! Performance Tips
    [Ember] Wraming up
    [Javascript] How to write a Javascript libarary
    [Regex Expression] Tagline --- {0, } {1,10}
    [Regex Expression] Confirmative -- World bundry
    [Regex Expression] Match mutli-line number, number range
    成都-地点-文创-锦里:锦里
    成都-地点-文创-宽窄巷子:宽窄巷子
    地点-文创-田子坊-上海:田子坊
  • 原文地址:https://www.cnblogs.com/Frank99/p/14118556.html
Copyright © 2011-2022 走看看