首页 > 其他分享 >Nacos配置

Nacos配置

时间:2024-06-05 17:36:58浏览次数:20  
标签:服务 service 配置 Nacos nacos 8848 item

Nacos注册中心

目前开源的注册中心框架有很多,国内比较常见的有:
  • Eureka:Netflix公司出品,目前被集成在SpringCloud当中,一般用于Java应用
  • Nacos:Alibaba公司出品,目前被集成在SpringCloudAlibaba中,一般用于Java应用
  • Consul:HashiCorp公司出品,目前集成在SpringCloud中,不限制微服务语言
  以上几种注册中心都遵循SpringCloud中的API规范,因此在业务开发使用上没有太大差异。由于Nacos是国内产品,中文文档比较丰富,而且同时具备配置管理功能(后面会学习),因此在国内使用较多,课堂中我们会Nacos为例来学习。   官方网站如下: 暂时无法在飞书文档外展示此内容   我们基于Docker来部署Nacos的注册中心,首先我们要准备MySQL数据库表,用来存储Nacos的数据。由于是Docker部署,所以大家需要将资料中的SQL文件导入到你Docker中的MySQL容器中: 最终表结构如下: 然后,找到课前资料下的nacos文件夹: 其中的nacos/custom.env文件中,有一个MYSQL_SERVICE_HOST也就是mysql地址,需要修改为你自己的虚拟机IP地址: 然后,将课前资料中的nacos目录上传至虚拟机的/root目录。 上传资料中的nacos.tar到root目录下,执行命令加载镜像:docker load -i nacos.tar 进入root目录,然后执行下面的docker命令:
docker run -d \
--name nacos \
--env-file ./nacos/custom.env \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--restart=always \
nacos/nacos-server:v2.1.0-slim
云服务器注意:需要开放 8848 9848 9849 端口!!!     启动完成后,访问下面地址:http://192.168.150.101:8848/nacos/,注意将192.168.150.101替换为你自己的虚拟机IP地址。 首次访问会跳转到登录页,账号密码都是nacos    

服务注册

接下来,我们把item-service注册到Nacos,步骤如下:
  • 引入依赖
  • 配置Nacos地址
  • 重启
 

添加依赖

item-servicepom.xml中添加依赖:
<!--nacos 服务注册发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
 

配置Nacos

item-serviceapplication.yml中添加nacos地址配置:
spring:
  application:
    name: item-service # 服务名称
  cloud:
    nacos:
      server-addr: 192.168.150.101:8848 # nacos地址
 

启动服务实例

注意:Nacos需要调用8848和9848两个端口,如果是云服务需要去安全组开放两个端口

为了测试一个服务多个实例的情况,我们再配置一个item-service的部署实例: 然后配置启动项,注意重命名并且配置新的端口,避免冲突:   重启item-service的两个实例:   访问nacos控制台,可以发现服务注册成功: 点击详情,可以查看到item-service服务的两个实例信息:  

服务发现

服务的消费者要去nacos订阅服务,这个过程就是服务发现,步骤如下:
  • 引入依赖
  • 配置Nacos地址
  • 发现并调用服务
 

引入依赖

服务发现除了要引入nacos依赖以外,由于还需要负载均衡,因此要引入SpringCloud提供的LoadBalancer依赖。 我们在cart-service中的pom.xml中添加下面的依赖:
<!--nacos 服务注册发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
可以发现,这里Nacos的依赖于服务注册时一致,这个依赖中同时包含了服务注册和发现的功能。因为任何一个微服务都可以调用别人,也可以被别人调用,即可以是调用者,也可以是提供者。 因此,等一会儿cart-service启动,同样会注册到Nacos

配置Nacos地址

cart-serviceapplication.yml中添加nacos地址配置:
spring:
  cloud:
    nacos:
      server-addr: 192.168.150.101:8848
 

发现并调用服务

接下来,服务调用者cart-service就可以去订阅item-service服务了。不过item-service有多个实例,而真正发起调用时只需要知道一个实例的地址。 因此,服务调用者必须利用负载均衡的算法,从多个实例中挑选一个去访问。常见的负载均衡算法有:
  • 随机
  • 轮询
  • IP的hash
  • 最近最少访问
  • ...
这里我们可以选择最简单的随机负载均衡。   另外,服务发现需要用到一个工具,DiscoveryClient,SpringCloud已经帮我们自动装配,我们可以直接注入使用:

标签:服务,service,配置,Nacos,nacos,8848,item
From: https://www.cnblogs.com/linzepro/p/18233436

相关文章

  • SAP mrp后台作业配置修改
    SM37查看和更改后台作业的配置输入之前给后台作业设定的名称,并在下方检索条件进行勾选或删除。这里可以看到该后台作业的详细运行情况。选中已释放状态的作业名,然后点击左上角作业然后跳转到该界面进行更改配置即可,具体修改配置请看《SAPmrp后台作业》创建一文。......
  • 从零开始的.NET项目(一)配置EFCore
    目标框架:.net6.0操作系统:macos编译器:Rider内容:配置EFCore,使用CodeFrist创建mssql数据库,并存入种子数据数据库准备如果使用的是vs编译器的话,其实就不用准备数据库了,直接用vs自带的数据库,嘎嘎好使......
  • springMvc 配置 UReport2
    参考:https://blog.csdn.net/qq_42207808/article/details/112258835 1.配置pom.xml引入目前最新得2.2.9版本<dependency><groupId>com.bstek.ureport</groupId><artifactId>ureport2-console</artifactId&......
  • 崖山数据库-监控运维平台-YCM 配置部署详解
    准备工作:操作系统版本:[root@node10~]#uname-aLinuxnode103.10.0-1160.el7.x86_64#1SMPMonOct1916:18:59UTC2020x86_64x86_64x86_64GNU/Linux[root@node10~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)前提是安装完yashandb数据库:注意:安装......
  • beego-yaml-viper 配置数据库连接
    定义config.yaml文件 mysql:driver:mysqluser:rootpassword:roothost:127.0.0.1port:8889database:2204aredis:addr:"127.0.0.1:6379"password:""db:0在main.go文件中packagemainimport( "github.com/b......
  • 电脑配置品牌
    一、主要部件CPUIntelAMD显卡N卡一线:华硕、微星、七彩虹二线:铭瑄、影驰、技嘉、索泰、耕升、映众A卡一线:华硕、蓝宝石二线:瀚凯、讯景、撼讯、华擎、迪兰、盈通内存条T0:金士顿、芝奇T1:英睿达、海盗船T2:威刚、影驰、科赋、宏碁T3:雷克沙、阿斯加特、光威、宇瞻......
  • 【SIP&MRCP】reeswitch如何配置远程SIP网关和路由,没有认证
    当在FreeSWITCH中配置远程SIP网关且不需要认证时(非认证方式,即IP对接或SIP中继对接),可以按照以下步骤进行配置:1.配置远程SIP网关步骤一:确定SIP网关信息SIP服务器地址:IP或域名。SIP端口(如果需要):默认通常是5060,但可能有所不同。步骤二:创建SIP网关配置文件在FreeSWITCH的conf/......
  • Varnish讲解文章、缓存代理配置、核心功能、优势、Varnish在什么情况下会选择缓存哪些
    varnish官网链接Varnish文章概览Varnish是一款高性能的HTTP加速器(web应用加速器),是一款开源软件,它能够显著提高网站的响应速度和减少服务器的负载。Varnish的设计理念是利用缓存技术,将频繁访问的静态内容存储在内存中,以便快速响应用户请求。这种方式可以避免每次都从原始服务......
  • 浅谈配置元件之随机变量
    浅谈配置元件之随机变量1.概述为了增强测试的真实性和多样性,JMeter提供了多种配置元件来生成动态数据,其中“随机变量”(RandomVariable)就是一种常用的配置元件,用于生成随机数值、字符串等,以模拟不同用户请求中的变化参数。2.目的随机变量配置元件的主要目的是在每个......
  • linux网络配置1.1
    ifconfig当前设备正在工作的网卡。启动的设备。-a所有网络设备。ifconfigens33查看查看指定网卡设备ifconfigens33up/down对指定网卡设备进行开关基于物理网卡设置虚拟地址,重启之后就会消失。ifconfigens33:0192.168.233.100创建虚拟网卡如果有多个网卡,需要......