探秘 Nacos 服务注册与发现:微服务领域的创新驱动

目录

一、服务注册

二、服务发现


在Nacos中,用户可以通过两种方式实现服务实例的注册和发现:

  1. OpenAPI 的方式

  2. Nacos 提供的 SDK 方式

此处将介绍通过 OpenAPI 的方式完成服务的注册和发现

一、服务注册

打开系统的命令行,在系统命令行中输入以下命令:

bash 复制代码
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=spring-cloud-nacos-producer&ip=客户端IPxxxxx&port=8091'
ok

当返回"ok"结果时,表示服务注册成功,其中:

  • serviceName:表示服务名。

  • ip:表示客户端程序的 IP 地址。

  • port:表示客户端程序的端口号。

此时通过 Nacos 管理后台可以看到我们注册的服务:

二、服务发现

在系统命令行中使用以下命令实现服务发现:

bash 复制代码
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=我们注册的服务的名称'

执行结果如下所示:

bash 复制代码
{
    "name": "DEFAULT_GROUP@@spring-cloud-nacos-producer",
    "groupName": "DEFAULT_GROUP",
    "clusters": "",
    "cacheMillis": 10000,
    "hosts": [
        {
            "instanceId": "49.233.211.195#8091#DEFAULT#DEFAULT_GROUP@@spring-cloud-nacos-producer",
            "ip": "xxxx",
            "port": 8091,
            "weight": 1,
            "healthy": true,
            "enabled": true,
            "ephemeral": true,
            "clusterName": "DEFAULT",
            "serviceName": "DEFAULT_GROUP@@spring-cloud-nacos-producer",
            "metadata": {

            },
            "instanceHeartBeatInterval": 5000,
            "instanceHeartBeatTimeOut": 15000,
            "ipDeleteTimeout": 30000,
            "instanceIdGenerator": "simple"
        }
    ],
    "lastRefTime": 1731756977869,
    "checksum": "",
    "allIPs": false,
    "reachProtectionThreshold": false,
    "valid": true
}
相关推荐
踏浪无痕6 小时前
JobFlow已开源:面向业务中台的轻量级分布式调度引擎 — 支持动态分片与延时队列
后端·架构·开源
韩立学长6 小时前
【开题答辩实录分享】以《自助游网站的设计与实现》为例进行选题答辩实录分享
java·mysql·spring
ss2736 小时前
线程池:任务队列、工作线程与生命周期管理
java·后端
不像程序员的程序媛6 小时前
Spring的cacheEvict
java·后端·spring
SAP小崔说事儿6 小时前
在数据库中将字符串拆分成表单(SQL和HANA版本)
java·数据库·sql·sap·hana·字符串拆分·无锡sap
凌云若寒7 小时前
半导体代加工企业标签模板痛点的全景式解决方案
java
踏浪无痕7 小时前
JobFlow 实战:无锁调度是怎么做到的
后端·面试·架构
shoubepatien7 小时前
JAVA -- 11
java·后端·intellij-idea
喵个咪7 小时前
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:kratos-bootstrap 入门教程(类比 Spring Boot)
后端·微服务·go
利剑 -~7 小时前
jdk源码解析
java·开发语言