【Nacos】在Windows环境下搭建Nacos服务与Python开发示例

在Windows环境下搭建Nacos服务与Python开发示例

Nacos是一个开源的动态服务发现、配置和服务管理平台。本文将介绍在Windows环境下搭建Nacos服务,并提供一个简单的Python示例,演示如何通过Nacos实现服务注册与发现。

  • 官方提示:Nacos定义为一个IDC内部应用组件,并非面向公网环境的产品,建议在内部隔离网络环境中部署,强烈不建议部署在公共网络环境。

官网:https://nacos.io/zh-cn/docs/deployment.html

1. Java环境

(安装与环境配置略)

  • 参考图片

在这里插入图片描述

2. 下载与配置Maven

下载Maven,并配置环境变量。具体步骤如下:

  1. 下载Maven:apache-maven-3.9.6-bin.zip
  2. 解压至指定目录。
  3. 配置环境变量:
    • 新建系统变量 MAVEN_HOME,值为Maven解压目录路径。
    • 编辑系统变量 Path,添加 %MAVEN_HOME%\bin

验证Maven是否安装成功,执行命令:

mvn --version
  • 参考图片

在这里插入图片描述

3. 下载与安装Nacos

首先,从Nacos官方网站下载最新版本的Nacos服务:

下载链接

选择合适的版本,这里以nacos-server-2.3.0.zip为例。下载完成后,解压缩到指定目录。

4. 修改Nacos配置

进入解压后的Nacos目录,找到nacos\conf\application.properties文件,修改其中的配置项:

nacos.core.auth.plugin.nacos.token.secret.key=自定义Key

5. 启动Nacos服务

在Windows环境下,使用以下命令启动Nacos服务(以单机模式为例):

nacos-server-2.3.0\nacos\bin\startup.cmd -m standalone

如果没加 -m standalone参数遇到启动报错,可能是由于默认以集群模式启动。修改startup.cmd文件,将以下内容:

set MODE="cluster"

改为:

set MODE="standalone"
  • 参考图片
    在这里插入图片描述

6. 启动Python示例

在Python环境下,使用Flask搭建一个简单的HTTP服务,并通过Nacos实现服务注册与发现。

# addition_service.py
import threading
import time
import nacos
from flask import Flask, request, jsonify

app = Flask(__name__)

server_addresses = "192.168.22.1:8848"
service_name = "add-service"
client = nacos.NacosClient(server_addresses)
ip = "127.0.0.1"
port = 8085

@app.route('/add', methods=['POST'])
def add():
    data = request.get_json()
    result = data['a'] + data['b']
    return jsonify({
    
    'result': result})

# nacos服务
def service_register():
    client.add_naming_instance(service_name, ip, port)

# 服务检测
def service_beat():
    while True:
        client.send_heartbeat(service_name, ip, port)
        time.sleep(5)

# 发布服务,并且注册到nocos
if __name__ == "__main__":
    service_register()
    # 5秒以后,异步执行service_beat()方法
    threading.Timer(5, service_beat).start()
    app.run(port=8085)
  • 参考图片
    在这里插入图片描述
    在这里插入图片描述

7. 使用Python示例调用服务

在另一个Python脚本中,通过Nacos获取服务实例信息,并调用注册的服务:

# main.py
import requests
import nacos

server_addresses = "192.168.22.1:8848"
service_name = "add-service"
client = nacos.NacosClient(server_addresses)
result = client.list_naming_instance(service_name)
result= result.get('hosts')
# 假设你选择第一个实例进行调用
if result:
    target_instance = result[0]
    target_ip = target_instance['ip']
    target_port = target_instance['port']

    target_url = f"http://{
      
      target_ip}:{
      
      target_port}/add"
    data = {
    
    'a': 5, 'b': 3}
    response = requests.post(target_url, json=data)
    print(f"Service Response: {
      
      response.json()}")
else:
    print(f"No instances found for service {
      
      service_name}")
  • 参考图片
    在这里插入图片描述

通过以上步骤,你就成功地在Windows环境下搭建了Nacos服务,并使用Python演示了服务注册与发现的过程。这为构建基于微服务架构的应用提供了一种可行的方案。还有集群、权限认证等。

猜你喜欢

转载自blog.csdn.net/linjiuxiansheng/article/details/134938789