nacos 作为注册中心

准备nacos的运行环境:

一、通过windows的方式

1.下载最新版的安装包: nacos下载地址

下载完成后出现该类型的安装包

2.解压压缩包
3. 启动nacos

进入压缩包中文件夹 进入bin目录下 ,打开控制台 输入启动命令

注意: 由于nacos默认是以集群模式启动的,这里演示的是 单机模式 所以就需要加参数

-m standalone 表示的是 以单机模式启动 nacos

启动 nacos : startup.cmd -m standalone

4.访问 nacos

在浏览器页面输入 localhost:8848/nacos 即可进入 nacos 因为 nacos的 默认端口是 "8848"

二、通过docker的方式(推荐)

1. 通过nacos来拉取镜像

拉取镜像

docker pull nacos/nacos-server:v2.2.2

2.运行nacos的镜像

创建容器 nacos2.x的版本新增了一个客户端与服务端的gRpc的通讯端口号9848

docker run -id --name nacos -e MODE=standalone --restart=always -p 8848:8848 -p 9848:9848 nacos/nacos-server:v2.2.2

小插曲: 简单的介绍了一下 docker启动镜像时的各个参数。

docker run docker的启动命令

-id 后台启动

--name nacos 给容器起名字

-e MODE=standalone -e 添加环境变量 作用就是 在nacos启动时 需要以单机模式启动

--restart=always 设置开机自启

-p 8848:8848 进行端口的映射 由于 宿主机(linux )和容器(docker容器) 默认是隔离的,所以如果要访问容器内部的端口则需要进行端口的映射

第一个 8848 宿主机的端口 可以随便写

第二个 8848 容器中的端口 **固定的 不可以随便写的。**8848 是 nacos运行时所需要占用的端口

-p9848:9848 9848 Nacos中的GRPC SDK Server端的端口,用于客户端GRPC连接,默认为主端口偏移+1000

nacos/nacosserver:v2.2.2 前面的nacos 表示的是 自定义容器名称 nacosserver:v2.2.2 表示的是镜像的版本。

3. 访问 nacos服务。

三、 将微服务注册到nacos中去。

一、创建微服务工程
二、 往maven中添加依赖

<dependencies>

<dependency>

<groupId>com.alibaba.cloud</groupId>

<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>

</dependency>

</dependencies>

三、编写yml的配置文件
复制代码
#设置服务端口号
server:
  port: 8080  # 微服务的启动端口号
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.126.128:8848   # nacos的服务器 地址
  application:
    name: spzx-cloud-nacos-test  # 微服务应用的名称
四、运行微服务
五、进入nacos查看是否服务被注册 在这里可以看到我的服务已经被注册进入 nacos中去了

nacos(注册中心)的作用

传统模式进行微服务之间的访问,需要通过http协议发送请求,然后获取响应结果

而nacos可以作为注册中心帮助我们去维护 各个微服务的地址,然后我们通过 springcloud的另一个组件 LoadBalanced来从 nacos中获取 各个微服务的地址从而动态的发送请求。

相关推荐
野熊佩骑3 小时前
Kubernetes实战系列文章(三) 之 K8S运维常用命令
linux·运维·docker·微服务·云原生·容器·kubernetes
DolitD6 小时前
实时云渲染多应用并发:CELL容器技术突破3D隔离瓶颈
云原生·容器·实时互动·图形渲染·数据可视化
鹤落晴春6 小时前
【K8s】Kustomize管理
云原生·容器·kubernetes
bruce1289 小时前
K8s Pod 异常重启排查
云原生·容器·kubernetes
MetaLite9 小时前
微服务认证选型-SpringSecurity-SaToken与自研方案
微服务·云原生·架构
运维老郭12 小时前
Prometheus 监控 K8s 从入门到入坑:工作原理 + 部署实操 + 避坑指南
云原生·容器·kubernetes
AAA@峥12 小时前
从零搭建 Prometheus 完整监控告警体系|Linux 部署 + node_exporter+Grafana 可视化
云原生·grafana·prometheus
10mAh14 小时前
【Docker】磁盘空间被占满怎么清理?——overlay2、容器日志与 Build Cache 排查实战
docker·容器·eureka
SelectDB技术团队15 小时前
Apache Doris 多云原生实践:SaaS、BYOC 与四大公有云覆盖
数据库·阿里云·云原生·华为云·腾讯云·亚马逊云·写入更新
鹤落晴春1 天前
有状态应用 vs 无状态应用
运维·云原生·k8s