精华内容
下载资源
问答
  • Nacos注册中心

    2020-11-28 20:33:20
    Nacos注册中心 1 常见注册中心 Eureka:Eureka是Spring Cloud Netflix中的重要组件,主要作用就是做服务注册和发现。2.0遇到性能瓶颈,停止维护,现在已经闭源。 Consul:Consul是基于GO语言开发的开源工具,...

    一 Nacos注册中心

    1 常见注册中心

    Eureka:Eureka是Spring Cloud Netflix中的重要组件,主要作用就是做服务注册和发现。2.0遇到性能瓶颈,停止维护,现在已经闭源。

    Consul:Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。

    Zookeeper:zookeeper是一个分布式服务框架,是Apache Hadoop 的一个子项目。

    Nacos:Spring Cloud Alibaba出品

    • Alibaba是针对Spring Cloud体系的注册中心

    • 相对于 Spring Cloud Eureka 来说,Nacos 更强大

    • Nacos = Spring Cloud Eureka + Spring Cloud Config + Spring Cloud Bus

    2 为什么叫Nacos

    前四个字母分别为 Naming 和 Configuration 的前两个字母,最后的s为Service

    Dynamic Naming and Configuration Service

    Nacos就是:注册中心 + 配置中心的组合

    Spring Cloud Alibaba Nacos = SpringCloudEureka + SpringCloudConfig +SpringCloudBus

    3 Nacos下载和安装

    下载地址:https://github.com/alibaba/nacos/releases

    下载版本:nacos-server-1.1.4.zip 或 nacos-server-1.1.4.tar.gz,解压任意目录即可

    4 启动Nacos

    Windows

    启动:双击bin/startup.cmd运行文件

    访问:http://localhost:8848/nacos

    用户名密码:nacos/nacos

    Linux/Unix/Mac

    启动命令(standalone代表着单机模式运行,非集群模式)

    启动命令:sh startup.sh -m standalone

    二 服务注册步骤

    1 引入依赖

    service模块中配置Nacos客户端的pom依赖

    <!--服务注册-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>

    2 添加服务配置信息

    配置application.properties,在客户端微服务中添加注册Nacos服务的配置信息

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848 # nacos服务地址

    3 添加Nacos客户端注解

    在客户端微服务启动类中添加注解

    @EnableDiscoveryClient

    4 启动客户端微服务

    启动注册中心,启动已注册的微服务,可以在Nacos服务列表中看到被注册的微服务

    5 注册oss微服务

    使用同样的方式注册oss微服务

     

    展开全文
  • nacos注册中心

    2019-09-06 15:01:23
    nacos服务中心搭建与服务注册 一:下载地址 https://github.com/alibaba/nacos/releases 源码地址:https://github.com/alibaba/nacos 官网地址:https://nacos.io/zh-cn/docs/what-is-nacos.html 1.nacos专注于...

    nacos注册中心

    一:下载地址

    https://github.com/alibaba/nacos/releases 源码地址:https://github.com/alibaba/nacos 官网地址:https://nacos.io/zh-cn/docs/what-is-nacos.html

    1.nacos专注于服务发现和配置管理领域
    2.解决硬编码,配置文件
    3.真正将配置从应用中剥离出来,统一管理,优雅的解决了配置的动态变更、持久化、运维成本等问题

    在这里插入图片描述

    二、 解压后目录结构

    在这里插入图片描述

    三、 进入conf目录下

    在这里插入图片描述

    四、修改 application.properties 配置文件,添加如下内容,保存

    spring.datasource.platform=mysql
    db.num=1
    db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
    db.user=root
    db.password=root
    

    五:执行config目录下nocos-mysql的sql

    在这里插入图片描述

    六,进入bin目录,Windows部署点击bin目录下的startup.cmd,也可以通过命令进行单机版部署

    Windows:cmd startup.cmd -m standalone

    运行成功,访问 http://127.0.0.1:8848/nacos/index.html 首次登陆默认用户名和密码都是nacos(密码可以自己修改,使用的是import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; new BCryptPasswordEncoder().encode(“nacos”))

    在这里插入图片描述

    搭建客户端

    一:导入依赖

    <!-- 1. nacos-配置管理功能依赖  实现配置的动态变更-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        <version>0.2.1.RELEASE</version>
    </dependency>
    
    <!-- 2. nacos-服务发现功能依赖 实现服务的注册与发现-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        <version>0.2.1.RELEASE</version>
    </dependency>
    注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。
    

    二:修改配置文件(application.yml)

    spring:
      application:
        name: user
      #之所以需要配置 spring.application.name ,是因为它是构成 Nacos 配置管理 dataId字段的一部分,在 Nacos Spring Cloud 中,dataId 的完整格式:
          #${prefix}-${spring.profile.active}.${file-extension}
          #prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
          #spring.profile.active 即为当前环境对应的 profile,当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
          #file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848
          config:
            server-addr: 127.0.0.1:8848
            file-extension: yaml #配置文件的格式,默认为properties
    server:
      port: 8080
    
    

    三:启动

    1.启动类添加@EnableDiscoveryClient 开启服务注册发现功能
    2.启动报如下图错误

    在这里插入图片描述

    解决:作为配置中心时,必须要使用bootstrap.yml,因为bootstrap.yml加载顺序优先于application.yml

    3.重新启动后:

    在这里插入图片描述

    四:实时刷新配置

    1.新建配置

    注意data id的命名
    在这里插入图片描述

    2.创建controller
    nacos注册中心粘贴示例

    在这里插入图片描述

    示例代码如下

    在这里插入图片描述

    3.访问:http://localhost:8080/config/get

    五:启动服务发现

    1.创建服务提供者(将上个客户端作为提供者)

    在这里插入图片描述

    2,创建服务消费者,配置同上,修改spring: application: name: product,修改端口

    在这里插入图片描述

    3.启动两个客户端,访问http://localhost:8081/echo/caikeke
    4.以上代码也可在nacos中粘贴示例代码

    在这里插入图片描述

    命名空间和群组

    1.新建配置群组为USER_GROUP,data id为user.yaml(同一群组下Data Id不能重复)

    在这里插入图片描述
    default_group下user.yaml内容

    useLocalCache: true
    userName: defalut_group
    

    user_group下user.yaml内容

    useLocalCache: true
    userName: user_group
    

    2.读取USER_GROUP群组下的配置—客户端bootstrap.yml配置添加

    spring:cloud:nacos:config:group:USER_GROUP    #读取USER_GROUP分组下user.yaml
    

    3.测试controller,访问http://localhost:8081/config/getUserName

    @RequestMapping("/config")
    @RestController
    @RefreshScope
    public class UserController {
    
        @Value("${useLocalCache:false}")
        private boolean useLocalCache;
    
        @Value("${userName:zhangsan}")
        private String userName;
    
        @RequestMapping("/get")
        public boolean get() {
            return useLocalCache;
        }
    
        @RequestMapping("/getUserName")
        public String getUserName() {
            return userName;
        }
    }
    

    4.新建命名空间 (常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等)

    在这里插入图片描述

    5. 在test空间下创建群组为USER_GROUP,data id 为user.yaml的配置

    在这里插入图片描述
    user.yaml内容为

    useLocalCache: true
    userName: test环境下user_group
    

    6.读取test空间下USER_GROUP群组下的配置—客户端bootstrap.yml配置添加

    spring:cloud:nacos:config:namespace:24a52d94-1b43-4568-b23b-1f2e6207a621  #读取命名空间
    

    7.测试controller,访问http://localhost:8081/config/getUserName

    注册中心的心跳

    临时实例和持久化实例

    1.心跳周期(查看下图user服务)

    在定义上区分临时实例和持久化实例的关键是健康检查的方式。临时实例使用客户端上报模式,而持久化实例使用服务端反向探测模式。临时实例需要能够自动摘除不健康实例,而且无需持久化存储实例。

    目前支持临时实例使用心跳上报方式维持活性,发送心跳的周期默认是 5 秒,Nacos 服务端会在 15 秒没收到心跳后将实例设置为不健康,在 30 秒没收到心跳时将这个临时实例摘除。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.服务自定义心跳周期
    通过设置实例的metadata,来指定心跳周期、健康检查过期时间及删除实例时间
    String serviceName = randomDomainName();
    
    Instance instance = new Instance();
    instance.setIp("1.1.1.1");
    instance.setPort(9999);
    Map<String, String> metadata = new HashMap<String, String>();
    // 设置心跳的周期,单位为秒,这里将心跳间隔设置为3秒:
    metadata.put(PreservedMetadataKeys.HEART_BEAT_INTERVAL, "3");
    // 设置心跳超时时间,单位为秒,这里将心跳超时时间设为6秒,
    // 即服务端6秒收不到客户端心跳,会将该客户端注册的实例设为不健康:
    metadata.put(PreservedMetadataKeys.HEART_BEAT_TIMEOUT, "6");
    // 设置实例删除的超时时间,单位为秒,这里将实例删除超时时间设为9秒,
    // 即服务端9秒收不到客户端心跳,会将该客户端注册的实例删除:
    metadata.put(PreservedMetadataKeys.IP_DELETE_TIMEOUT, "9");
    instance.setMetadata(metadata);
    
    naming.registerInstance(serviceName, instance);
    

    nacos集群搭建

    一.将nocos压缩包解压三个,修改端口

    二:修改其中一个配置文件
    1.进入conf目录下,在application.properties添加数据库配置
    2.进入conf目录下,默认只有一个cluster.conf.example文件,复制一份,修改名称为cluster.conf
    输入
    127.0.0.1:8848
    127.0.0.1:8849
    127.0.0.1:8850
    3.其他两个配置文件同上
    
    三:客户端修改配置
    cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
          config:
            server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
            file-extension: yaml #配置文件的格式,默认为properties
            group: PRODUCT_GROUP
            namespace: 24a52d94-1b43-4568-b23b-1f2e6207a621
    
    四:启动客户端

    服务端信息1.1.0后特性

    一:配置导入导出及配置同步

    导入导出文件格式说明。均为zip压缩包,压缩包内有多个目录,目录名为配置的 group,目录下有具体的文件,文件名为配置的 dataId 
    

    二:服务订阅者列表

    查看一个服务的消费者
    
    三:其他以官方文档为主
    展开全文
  • Nacos 注册中心

    2020-04-23 18:06:15
    首先创建两个工程:nacos-provider、nacos-consumer 在创建一个消费方 server.port=8070 spring.application.name=service-provider # 自定义参数 myName=nacos package ...

    首先创建两个工程:nacos-provider、nacos-consumer

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在创建一个消费方
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    server.port=8070
    spring.application.name=service-provider
    # 自定义参数
    myName=nacos
    

    在这里插入图片描述

    package com.kcbg.providerdemo.controller;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
        @Value("${myName}")
        private String name;
    
        @GetMapping("hello")
        public String hello(){
            return "hello " + name;
        }
    }
    
    

    然后启动provider生产者去浏览器访问
    http://localhost:8070/hello
    在这里插入图片描述
    然后去写我们的消费者
    在这里插入图片描述

    server.port=8080
    spring.application.name=service-consumer
    

    在这里插入图片描述

    package com.kcbg.consumerdemo.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HiController {
        @GetMapping("hi")
        public String hi() {
            return "hi provider!";
        }
    }
    
    

    启动consumer(消费者)去浏览器访问
    http://localhost:8080/hi
    在这里插入图片描述

    生产者和消费者添加到nacos中

    在这里插入图片描述

    <dependency>
    			<groupId>com.alibaba.cloud</groupId>
    			<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    			<version>2.1.0.RELEASE</version>
    </dependency>
    
    
    	<!-- SpringCloud的依赖 -->
    	<dependencyManagement>
    		<dependencies>
    			<dependency>
    				<groupId>org.springframework.cloud</groupId>
    				<artifactId>spring-cloud-dependencies</artifactId>
    				<version>Greenwich.SR3</version>
    				<type>pom</type>
    				<scope>import</scope>
    			</dependency>
    		</dependencies>
    	</dependencyManagement>
    

    在配置文件中加入

    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
    

    然后再启动类中加入一个注释

    @EnableDiscoveryClient
    

    在这里插入图片描述
    重新启动项目
    在这里插入图片描述

    消费者注册到nacos

    第一步还是加依赖

    <dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    			<version>0.2.2.RELEASE</version>
    </dependency>
    <!-- SpringCloud的依赖 -->
    	<dependencyManagement>
    		<dependencies>
    			<dependency>
    				<groupId>org.springframework.cloud</groupId>
    				<artifactId>spring-cloud-dependencies</artifactId>
    				<version>Greenwich.SR3</version>
    				<type>pom</type>
    				<scope>import</scope>
    			</dependency>
    		</dependencies>
    	</dependencyManagement>
    

    在application.properties中配置nacos的服务名及服务地址:同生产者

    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
    

    在这里插入图片描述
    还是启动类加注解

    @EnableDiscoveryClient
    

    再次启动项目
    在这里插入图片描述

    使用feign调用服务再消费者中加

    第一步还是加架包

    <dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    			<version>0.2.2.RELEASE</version>
    </dependency>
    

    第二步加注释
    @EnableFeignClients
    第三步加一个接口

    package com.kcbg.consumerdemo.feign;
    
    import org.springframework.cloud.openfeign.FeignClient;
    import org.springframework.web.bind.annotation.GetMapping;
    
    @FeignClient("service-provider")
    public interface ProviderClient {
    
        @GetMapping("hello")
       public String hello();
    }
    

    在这里插入图片描述
    第四步controll层调用这个接口

    package com.kcbg.consumerdemo.controller;
    
    
    
    
    
    import com.kcbg.consumerdemo.feign.ProviderClient;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HiController {
        @Autowired
       private ProviderClient providerClient;
    
        @GetMapping("hi")
        public String hi() {
            String hello=this.providerClient.hello();
            return "hi provider!================="+hello;
        }
    }
    
    

    重新启动项目访问这个接口
    在这里插入图片描述

    展开全文
  • 此处介绍Nacos注册中心的安装与使用,瓜瓜在安装的过程中出现的问题与解决方式,都会尽可能详细的描述出来。 1. 初识Nacos 1.1 什么是Nacos? Nacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册...
  • 一、Nacos注册中心 1、常见注册中心 Eureka:Eureka是Spring Cloud Netflix中的重要组件,主要作用就是做服务注册和发现。2.0遇到性能瓶颈,停止维护,现在已经闭源。 Consul:Consul是基于GO语言开发的开源工具...

    一、Nacos注册中心

    1、常见注册中心

    • Eureka:Eureka是Spring Cloud Netflix中的重要组件,主要作用就是做服务注册和发现。2.0遇到性能瓶颈,停止维护,现在已经闭源。

    • Consul:Consul是基于GO语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。

    • Zookeeper:zookeeper是一个分布式服务框架,是Apache Hadoop 的一个子项目。

    • Nacos(Spring Cloud Alibaba)

      • Alibaba针对Spring Cloud体系的注册中心
      • 相对于 Spring Cloud Eureka 来说,Nacos 更强大
      • Nacos = Spring Cloud Eureka + Spring Cloud Config + Spring Cloud Bus

    2、为什么叫Nacos

    • 前四个字母分别为 Naming 和 Configuration 的前两个字母,最后的s为Service

      • Dynamic Naming and Configuration Service
    • Nacos就是:注册中心 + 配置中心的组合

      • Spring Cloud Alibaba Nacos = SpringCloudEureka + SpringCloudConfig +SpringCloudBus

    3、Nacos下载和安装

    下载地址:https://github.com/alibaba/nacos/releases

    下载版本:nacos-server-1.1.4.zip 或 nacos-server-1.1.4.tar.gz,解压任意目录即可

    4、启动Nacos

    • Windows

    启动:双击bin/startup.cmd运行文件

    访问:http://localhost:8848/nacos

    用户名密码:nacos/nacos

    • Linux/Unix/Mac

    启动命令(standalone代表着单机模式运行,非集群模式)

    启动命令:sh startup.sh -m standalone

    在这里插入图片描述

    二.服务注册

    1、引入依赖

    service模块中配置Nacos客户端的pom依赖

    <!--服务注册-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    

    2、添加服务配置信息

    edu和oss微服务配置application.properties,在客户端微服务中添加注册Nacos服务的配置信息

    #spring:
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848 # nacos服务地址
    

    3、添加Nacos客户端注解

    edu和oss启动类中添加注解

    @EnableDiscoveryClient
    

    4、启动客户端微服务

    启动注册中心,启动已注册的微服务,可以在Nacos服务列表中看到被注册的微服务

    在这里插入图片描述

    展开全文
  • SpringBoot整合WebSocket+nacos注册中心实现多服务通信
  • 本篇文章为系列文章,未读第一集的同学请猛戳这里:微服务系列之Nacos注册中心(一)本篇文章讲解 Nacos 注册中心集群环境搭建。Nacos 集群环境搭建 集群模式跟我们平时进行扩容是一样的,可以通过 Nginx 转发到多个...
  • 5 添加 Nacos 注册中心

    2021-01-30 15:46:17
    添加 Nacos 注册中心
  • Nacos 注册中心 入门

    2020-12-02 22:05:44
    Nacos 注册中心 简介 Nacos 是阿里巴巴开源的组件,主要用于注册中心与服务配置管理。 Nacos 组件 提供的功能 相等于 (Eureka + Bus + Config ) 组件所提供的功能,并且更加的方便使用,对初学者更加友好。 什么叫...
  • Nacos注册中心-RestTemplate 文章目录Nacos注册中心-RestTemplate前言1 项目结构2 模块搭建2.1 创建父工程2.2 创建基础模块2.3 创建用户微服务2.4 创建商品微服务2.5 创建订单微服务3 Nacos Discovery--服务治理3.1...
  • nacos注册中心demo

    2020-11-23 17:32:45
    nacos注册中心demonacos demo吐槽nacos安装demo nacos demo 吐槽 今天开始整微服务,老实说我真是不知道怎么开始,无从下手,甚至想从spring开始,经过同事的指导,明白了他想让我学的是怎么用,搭框架,好像不是...
  • SpringBoot Nacos注册中心

    2019-08-29 11:42:08
    Nacos 注册中心 Nacos 是阿里巴巴的开源的项目,全称 Naming Configuration Service ,专注于服务发现和配置管理领域。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速...
  • Nacos 注册中心 - gRPC

    2020-12-12 16:44:02
    Nacos 注册中心 - gRPC 文章目录Nacos 注册中心 - gRPC前言一、创建Maven项目二、引入依赖三、编写代码项目结构proto文件GrpcTestService.protoGrpcNacosConfig.proto服务实现类客户端实现编写测试四、测试启动服务...
  • Nacos 注册中心使用
  • 1、nacos注册中心的使用spring-cloud-alibaba注册中心有两种使用方法,一种是直接下载打包好的文件,解压运行,二是通过下载源码的方式自己进行打包编译运行。1.1 下载打包好的文件 解压包地址: ...
  • Spring Cloud Alibaba nacos注册中心windows版本,官网下载速度慢的怀疑人生,我这里提前下载好了,方便下载
  • 主要介绍了spring cloud alibaba Nacos 注册中心搭建过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Nacos注册中心和配置中心基础搭建注册中心一、pom文件添加依赖二、添加配置三、启动类上添加注解@EnableDiscoveryClient四、启动服务,登录页面检查是否在nacos上注册配置中心一、pom文件添加依赖二、添加相关配置三...
  • Dubbo使用Nacos注册中心

    千次阅读 2020-05-12 15:48:30
    概述 在最新Dubbo中我们可以将Dubbo的注册到Nacos中进行服务的...dubbo-registry-nacos提供了dubbo所使用的的nacos注册中心所需的依赖 如果不使用springboot则需要添加以下依赖 <dependency> <groupId>
  • SpringCloud之Nacos注册中心上一节中,我们已经搭建完nacos的环境,接下来就是代码中引用它了。服务提供者现在我们创建一个springboot项目,这个项目作为服务提供端。这个项目向注册中心提供服务接口,供客户端来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,670
精华内容 2,268
关键字:

nacos注册中心