Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Nacos入门指南02 - 环境搭建

Nacos入门指南02 - 环境搭建

原创
作者头像
dys
修改于 2020-11-02 02:45:32
修改于 2020-11-02 02:45:32
1.5K0
举报
文章被收录于专栏:性能与架构性能与架构

你好,欢迎阅读,本文是系列文章中的第2篇。

Part1 - Nacos 是什么?

Part2 - Nacos 环境搭建

Part3 - Nacos 服务发现实践

Part4 - Nacos 分布式配置实践

本文的目的是把 Nacos 跑起来,并体验一下 Nacos 的 OpenAPI。

1. 环境搭建

有2种方式:

(1)手动编译、启动

(2)使用 Docker 容器

1.1 手动编译启动

需要2个步骤:

  • 编译 Nacos
  • 启动

步骤1 - 编译 Nacos

有2种方式,可以下载源码后自己编译,也可以直接下载官方编译后的。

方式1 - 源码编译

GitHub 上下载 Nacos 项目源码,项目地址:

代码语言:txt
AI代码解释
复制
git clone https://github.com/alibaba/nacos.git

下载好项目源码后,进入目录,进行编译:

代码语言:txt
AI代码解释
复制
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U

第一次编译的时间会很长,需要下载大量的依赖包。

完成后,成果位置:

代码语言:txt
AI代码解释
复制
distribution/target/nacos-server-$version/nacos

小提示:如果在 GitHub 下载速度慢的话,建议到国内的码云下载。

码云同步了 GitHub 中知名项目,所以从这下载会很快。操作如下图。

方式2 - 下载官方编译的包

官方也提供了编译好的压缩包,可以在 GitHub 中直接下载。

在 Nacos 项目首页的右侧,有一个 Releases 部分,点进去。

这就是编译后的压缩包,下载即可。

可惜的是码云中只同步了源码,并没有同步发布页面中的内容,直接在 GitHub 中下载会很慢。

步骤2 - 启动

在 nacos 编译后的目录下执行:

代码语言:txt
AI代码解释
复制
sh bin/startup.sh -m standalone

-m standalone 表示使用单机方式启动,这是最简单的方式,适合我们练习使用。

启动后的效果如下:

Nacos 会在后台启动,最后提示了日志的输出位置。

如果是 Windows 系统,执行 startup.cmd 即可。

1.2 Docker 容器

Nacos 官方提供了 Docker 镜像,可以直接使用:

代码语言:txt
AI代码解释
复制
# 下载 nacos docker 项目
git clone https://github.com/nacos-group/nacos-docker.git

# 单机模式启动
cd nacos-docker
docker-compose -f example/standalone-derby.yaml up

会启动3个容器:

  • prometheus,用于采集 nacos 数据,进行监控
  • grafana,用于图形化显示监控数据
  • nacos-standalone,nacos server

nacos 容器的本机挂载端口为 8848,访问其控制台

http://localhost:8848/nacos

默认的用户名与密码都为 nacos。

2. 体验 Nacos API

下面体验4个主要 API

  • 注册实例
  • 心跳
  • 查询服务实例列表
  • 注销实例

2.1 注册实例

发送请求:

代码语言:txt
AI代码解释
复制
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=service-a&ip=192.168.1.1&port=8080'

查看控制台中的服务列表:

已经注册成功了,但 service-a 这个服务实例是不存在的,怎么能注册成功呢?

Nacos 注册中心不管是否真的存在,只要能注册上来,并且一直有心跳就认为此实例是存活的,没心跳就删掉。

2.2 实例心跳

发送请求:

代码语言:txt
AI代码解释
复制
curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance/beat?serviceName=service-a&beat=%7B%22ip%22:%22192.168.31.1%22,%22port%22:8080%7D'

此接口有2个参数,serviceName 和 beat,其中 beat 的值有点乱,这是因为其值是 JSON 字符串,需要进行 URL 编码,例如:

搜一个在线URL编码张展即可。

2.3 查询服务实例列表

发送请求:

代码语言:txt
AI代码解释
复制
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=service-a'

返回:

代码语言:txt
AI代码解释
复制
{
    "metadata":{

    },
    "dom":"service-a",
    "cacheMillis":3000,
    "useSpecifiedURL":false,
    "hosts":[
        {
            "valid":true,
            "marked":false,
            "metadata":null,
            "instanceId":"192.168.31.1#8080#DEFAULT#DEFAULT_GROUP@@service-a",
            "port":8080,
            "healthy":true,
            "ip":"192.168.31.1",
            "clusterName":"DEFAULT",
            "weight":0,
            "ephemeral":true,
            "serviceName":"service-a",
            "enabled":true
        }
    ],
    "name":"DEFAULT_GROUP@@service-a",
    "checksum":"2be56e35d79c2cf9982e0b5e19b2bd29",
    "lastRefTime":1604222416258,
    "env":"",
    "clusters":""
}

2.4 注销实例

发送请求:

代码语言:txt
AI代码解释
复制
curl -X DELETE 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=service-a&ip=192.168.31.1&port=8080'

指定服务名、实例IP与端口。

查看控制台的服务列表:

已经空了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Nacos入门指南02 - 环境搭建
可惜的是码云中只同步了源码,并没有同步发布页面中的内容,直接在 GitHub 中下载会很慢。
dys
2020/11/09
6790
Nacos入门指南02 - 环境搭建
python flask服务如何注册到nacos
shigen之前遇到了一个服务,需要结合nacos+ Spring security实现服务的负载均衡。其中最为重要的就是python服务自己注册到nacos上,趁着闲暇时间,来研究了一番。
shigen
2024/03/14
5270
python flask服务如何注册到nacos
今天来学学Nacos
Nacos是阿里zhuc中间件团队开源的一款服务发现、配置和管理微服务的中间件,关键的特性包括:
故里
2020/11/25
2.4K0
今天来学学Nacos
Nacos入门指南04 - 分布式配置实践
(3)SpringBoot 服务整合 Nacos,改为使用 Nacos 中的配置。
dys
2020/11/01
7710
Nacos入门指南04 - 分布式配置实践
golang 源码分析:nacos服务发现
https://github.com/alibaba/nacos 是阿里开源的服务发现和配置同步组件,上手非常容易,我们介绍下如何部署,然后看下nacos提供的golang sdk:https://github.com/nacos-group/nacos-sdk-go如何使用,分析下具体的源码实现。
golangLeetcode
2022/12/17
8340
golang 源码分析:nacos服务发现
【云原生】nacos与docker的结合使用
一个风轻云淡
2023/10/15
3750
【云原生】nacos与docker的结合使用
6.新手快速入门Nacos2.0
本次使用docker方式,所以你首先需要有docker和docker-compose环境,没有请自行安装,本节不做介绍
AI码师
2023/08/18
2450
6.新手快速入门Nacos2.0
运行单机模式Nacos
可以使用2种方式运行单机模式的Nacos服务:编译后的压缩包,从源码启动。 如下运行模式基于MySQL数据库,启动Nacos成功之后访问http://127.0.0.1:8848即可访问管理后台,默认用户名和密码均为nacos。
编程随笔
2024/03/25
2050
Docker一键极速安装Nacos,并配置数据库!
Note: grafana创建一个新数据源时,数据源地址必须是 http://prometheus:9090
JavaEdge
2024/01/06
6160
Docker一键极速安装Nacos,并配置数据库!
如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥
猫头虎
2024/04/09
1K0
如何使用Docker部署Nacos服务?Nacos Docker 快速部署指南: 一站式部署与配置教程
php nacos服务注册与发现
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/185
joshua317
2021/11/08
4.7K2
php nacos服务注册与发现
Nacos入门指南01 - Nacos是什么?
Nacos 这个名字怎么读呢?它的音标为 /nɑ:kəʊs/。这个名字不是一个标准的单词,而是以下单词的首字母缩写:
dys
2020/11/01
20.7K0
Nacos入门指南01 - Nacos是什么?
Nacos 的基本使用
官网的介绍: https://nacos.io/zh-cn/docs/what-is-nacos.html
小小杰啊
2022/12/21
3890
Nacos 的基本使用
学习Nacos?咱先把服务搞起来,实战教程~
前面已经写不少Nacos相关的文章了,比如《Spring Cloud集成Nacos服务发现源码解析?翻了三套源码,保质保鲜!》,而且目前也计划写一个Spring Cloud的技术解析专栏,一个技术框架一个技术框架的为大家拆解分析原理和实现。
程序新视界
2021/12/07
3920
学习Nacos?咱先把服务搞起来,实战教程~
万字长文 | Spring Cloud Alibaba组件之Nacos实战及其客户端服务注册源码解析
假设有这样一个场景,我们乘坐公车需要确定自己的座位在哪里,才能入座,否则有可能那是别人的座位,等别人来做的时候把我撵起来那就尴尬了。正常的情况应该是有个售票员给我发个带有座位编号的票,然后我去对号入座,这样就可以快速找到自己的座位且没有被撵走的风险。
行百里er
2022/11/22
1.3K0
万字长文 | Spring Cloud Alibaba组件之Nacos实战及其客户端服务注册源码解析
Nacos初探(一)
NACOS致力于帮助您发现、配置和管理微服务。它提供了一组简单而有用的功能,使您能够实现动态服务发现、服务配置、服务元数据和流量管理。
黑洞代码
2021/01/14
7270
Nacos初探(一)
Nacos 安装 & 配置中心 & 配置管理(服务发现 服务治理)
应用程序在启动和运行的时候往往需要读取一些配置信息。比如:数据库连接参数、启动参数、JVM参数等等。
收心
2022/01/19
1.4K0
Nacos 安装 & 配置中心 & 配置管理(服务发现 服务治理)
【云原生】nacos与springboot结合
本文主要面向 Spring Boot 的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理和服务发现。
一个风轻云淡
2023/10/15
3300
【云原生】nacos与springboot结合
没有Eureka,但多了Nacos
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。
battcn
2018/08/03
1.6K0
没有Eureka,但多了Nacos
Nacos 服务注册中心探秘(一)
Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
架构探险之道
2019/07/25
6.2K0
相关推荐
Nacos入门指南02 - 环境搭建
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档