精华内容
下载资源
问答
  • Nacos

    千次阅读 2020-03-01 15:53:56
    nacos

    1 nacos是什么

    一个更易于构建云原生应用的动态服务发现、配置管理服务管理平台。

    https://nacos.io/zh-cn/docs/what-is-nacos.html 

    Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

    Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。


    2 Docker部署单机版的nacos

    https://hub.docker.com/r/nacos/nacos-server 

    2.1 拉取镜像 

    docker pull nacos/nacos-server:1.3.0

    2.2 启动nacos

    docker run \
    --name nacos \
    -p 8848:8848 \
    -e MODE=standalone \
    -d nacos/nacos-server:1.3.0

    2.3 web界面访问

    http://ip:8848/nacos

    登录名/密码 默认是nacos

    2.4 版本参考 


    3 集成 spring cloud alibaba

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <!--版本锁定-->
        <spring-boot.version>2.2.0.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
        <spring-cloud-alibaba.version>2.2.0.RELEASE</spring-cloud-alibaba.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <!--springboot-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring cloud-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring cloud alibaba-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    4 使用nacos

    4.1 引依赖

    • spring-boot-starter-{xxx}
    • {xxx}-spring-boot-starter
    • spring-cloud-starter-{spring cloud子项目的名称}-{模块名称}
    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.0.RELEASE</version>
        </dependency>
    </dependencies>

    以前是下面这个依赖,后面改成了上面的那个依赖

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

    4.2 加注解

    nacos无需添加@EnableDiscoveryClient注解

    //@EnableDiscoveryClient
    @SpringBootApplication
    public class App {
        public static void main(String[] args) {
            new SpringApplicationBuilder(App.class)
                    .web(WebApplicationType.SERVLET)
                    .run(args);
        }
    }
    

    4.3 写配置

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: 39.106.196.224:8848

    2020-04-02 18:05:22.554  WARN 23064 --- [           main] o.s.c.a.n.registry.NacosServiceRegistry  : No service to register for nacos client...

    未配置服务名称 (服务名称尽量用 -

    spring:
      application:
        name: order-center

    2020-04-02 18:10:38.489  INFO 12036 --- [           main] o.s.c.a.n.registry.NacosServiceRegistry  : nacos registry, order-center 192.168.56.1:9761 register finished


    5 服务发现的领域模型

    • Namespace : 一般用于实现环境隔离,默认public
    • Group : 不同服务可以分到一个组,默认DEFAULT_GROUP
    • Service : 微服务
    • Cluster : 对指定微服务的一个虚拟划分,默认DEFAULT
    • Instance : 微服务实例

    5.1 命名空间namespace

    用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

    spring:
      cloud:
        nacos:
          discovery:
            server-addr: 39.106.196.224:8848
            namespace: d3c16b50-bdb0-4fb6-917d-9fc7a4d5ff04

    6 元数据

    https://nacos.io/zh-cn/docs/concepts.html

    Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签 (label),从作用范围来看,分为服务级别的元信息、集群的元信息及实例的元信息。

    元数据作用

    1. 提供描述信息
    2. 让微服务调用更加灵活

    例如:微服务版本控制

    • 内容中心 v1 ---调用-->  用户中心 v1
    • 内容中心 v2 ---调用-->  用户中心 v2

    三种级别的元素据都可以在nacos控制台指定

    spring:
      cloud:
        nacos:
          discovery:
            metadata:
              version: 1.5.0.RELEASE
              describe: 用户中心


    7 异常处理

    ***************************
    APPLICATION FAILED TO START
    ***************************
    Description:
    The bean 'nacosServiceRegistry', defined in class path resource [org/springframework/cloud/alibaba/nacos/NacosDiscoveryAutoConfiguration.class], could not be registered. A bean with that name has already been defined in class path resource [com/alibaba/cloud/nacos/registry/NacosServiceRegistryAutoConfiguration.class] and overriding is disabled.
    Action:
    Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true

    nacos/nacos-server: 1.1.4

    spring-cloud-starter-alibaba-nacos-discovery: 2.2.0.RELEASE

    报错原因:订单中心、用户中心同时引入了spring-cloud-starter-alibaba-nacos-discovery;订单中心依赖了用户中心;这个时候启动订单中心启动的时候就可能会报错;

    解决方法:删除订单中心引入的依赖 spring-cloud-starter-alibaba-nacos-discovery

    当遇到同样名字的时候,是否允许覆盖注册 

    spring:
      main:
        allow-bean-definition-overriding: true

     

    展开全文
  • nacos

    2020-12-11 11:53:55
    2、windows搭建nacos2.1 下载nacos2.2 安装nacos2.3 nacos启动前环境准备(来到官网的部署手册吧!!!)2.3.1 在mysql中执行conf/nacos-mysql.sql2.3.2 修改conf/application.properties2.4 windows 单机启动nacos2.5 ...


    1、nacos是什么?

    官网走一波啊: https://nacos.io/zh-cn/index.html

    2、windows搭建nacos

    2.1 下载nacos

    1. https://nacos.io/zh-cn/docs/quick-start.html来来来,点击nacos快速开始
      在这里插入图片描述
    2. 下载地址
      https://github.com/alibaba/nacos/releases/tag/1.3.1
      在这里插入图片描述
    3. github下载太慢,我开放了资源,分享给大家
      链接:https://pan.baidu.com/s/11Iv4z9jeI_xUqsSMNmssDA
      提取码:mzod

    2.2 安装nacos

    解压即可

    2.3 nacos启动前环境准备(来到官网的部署手册吧!!!)

    2.3.1 在mysql中执行conf/nacos-mysql.sql

    nacos1.3.1+ 开始支持mysql8

    2.3.2 修改conf/application.properties

    放开:
    在这里插入图片描述

    2.4 windows 单机启动nacos

    启动命令(standalone代表着单机模式运行,非集群模式):
    
    cmd startup.cmd -m standalone
    

    在这里插入图片描述

    2.5 访问控制台

    2.5.1 http://127.0.0.1:8848/nacos

    2.5.2 输入nacos/nacos

    在这里插入图片描述

    2.6 服务注册测试

    2.6.1 导包

     <!-- SpringCloud Ailibaba Nacos 在spring cloud alibaba里边呢-->
     <dependency>
         <groupId>com.alibaba.cloud</groupId>
         <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
     </dependency>
    

    2.6.2 配置文件

    spring: 
      cloud:
        nacos:
          discovery:
            # 服务注册地址
            server-addr: 127.0.0.1:8848
          config:
            # 配置中心地址
            server-addr: 127.0.0.1:8848
            # 配置文件格式
            file-extension: yml
            # 共享配置
            shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
    

    2.6.3 注解

    启动类上加 @EnableDiscoveryClient

    2.6.4 查看结果(控制台中康康!)

    在这里插入图片描述

    3、Linux搭建nacos(以后补充哈!)

    展开全文
  • Nacos做服务注册中心使用案例

    万次阅读 2020-09-21 04:27:51
    关于环境搭建部分请借鉴:nacos做配置中心和服务注册中心 的完整使用案例 ...spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> server.port=8070 spring.application.nam

    关于环境搭建部分请借鉴:nacos做配置中心和服务注册中心 的完整使用案例

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    
    server.port=8070
    spring.application.name=server-provider
    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
    

    主启动类示例代码

    @SpringBootApplication
    @EnableDiscoveryClient
    public class NacosProviderApplication {
    
    	public static void main(String[] args) {
    		SpringApplication.run(NacosProviderApplication.class, args);
    	}
    
    	@RestController
    	class EchoController {
    		@RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
    		public String echo(@PathVariable String string) {
    			return "Hello Nacos Discovery " + string;
    		}
    	}
    }
    

    然后启动该主启动类,注意:主启动类至少有一个restful风格的请求资源,不然容易失败,因为是一个空服务

    启动项目后,如下在服务列表中能找到说明成功!
    在这里插入图片描述

    Springboot的示例代码

    在这里插入图片描述

    展开全文
  • nacos eureka consul zookeeper 一致性协议 CP + AP 可切换 AP CP CP 健康检查 TCP/HTTP/MySQL/Client Beat Client Beat TCP/HTTP/gRPC/CMD Client Beat 负载均衡 权重/DSL/metadata/CMDB Ribbon Fabio

    注册中心特性对比

    一致性(Consistency)、 可用性(Availability)、分区容错性(Partition tolerance)

    比较 nacos eureka consul zookeeper
    一致性协议 CP + AP 可切换 AP CP CP
    健康检查 TCP/HTTP/MySQL/Client Beat Client Beat TCP/HTTP/gRPC/CMD Client Beat
    负载均衡 权重/DSL/metadata/CMDB Ribbon Fabio
    雪崩保护 支持 支持 不支持 不支持
    自动注销实例 支持 支持 不支持 支持
    访问协议 HTTP/DNS/UDP HTTP HTTP/DNS TCP
    监听支持 支持 支持 支持 支持
    多数据中心 支持 支持 支持 不支持
    跨注册中心 支持 不支持 支持 不支持
    SpringColud集成 支持 支持 支持 不支持
    Dubbo集成 支持 不支持 不支持 支持
    kubernates集成 支持 不支持 支持 不支持
    展开全文
  • Nacos(二):SpringCloud项目中接入Nacos作为注册中心

    万次阅读 多人点赞 2019-07-09 17:18:01
    通过上一篇文章:Nacos介绍 简单了解了Nacos的发展历程和现状,本文我们开始Nacos试水的第一步: 使用Nacos做注册中心 上周末(7.6)Nacos发布了V1.1.0版本,这次更新支持灰度配置、地址服务器模式、配置文件导入...
  • 本地编译的Nacos-1.0 master分支,配置好mysql后,作为服务中心和配置中心启动成功 但是网关应用启动时报错500 空指针异常。 failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) 网上...
  • SpringBoot使用Nacos配置中心

    万次阅读 热门讨论 2019-01-26 18:27:59
    本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心。 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计。它可以帮助您轻松构建云本机应用程序和微服务平台。 ...
  • Nacos - nacos基础概念

    千次阅读 2019-12-03 18:31:25
    文章目录Nacos - nacos基础概念1、什么是nacos2、nacos 的主要功能3、nacos 引入的一些基础概念4、nacos 架构设计 Nacos - nacos基础概念 1、什么是nacos 一个易于使用的动态服务发现,配置和服务管理平台,用于...
  • nacos笔记

    万次阅读 2020-09-05 10:24:49
    【1】nacos server 【2】nacos spring 【3】Nacos Spring Boot 【4】Nacos Spring Cloud 【5】Nacos Config 【6】Nacos discovery 【7】nacos 部署 【8】常见问题 【1】nacos server nacos文档 1.源码部署 git ...
  • 项目集成到nacos

    万次阅读 2020-11-02 19:32:52
    本文只介绍其他项目集成到nacos,关于nacos基本概念,nacos项目地址,请自行查阅 整体流程(假设nacos服务端已经部署),一添加pom依赖,二项目添加nacos配置,三 nacos服务端添加项目配置 一,pom依赖 <?xml ...
  • nacos服务的负载均衡功能演示

    万次阅读 2020-09-21 13:35:52
    服务提供者 第一个服务提供者 @SpringBootApplication @EnableDiscoveryClient public class CloudalibabaProviderPayment01Application { public static void main(String[] args) { SpringApplication.run...
  • Nacos快速入门(1):启动Nacos Server

    万次阅读 2019-03-04 23:39:23
    Nacos由阿里于2018年7月开启的一个新的开源项目 官方介绍: Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos ...
  • 注册中心Nacos

    万次阅读 2019-04-23 20:23:24
    nacos官方文档 Nacos 有三大主要功能: 服务发现和服务健康监测 Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。 动态配置管理 配置中心化管理让实现无状态服务变得更简单,让服务按需...
  • Nacos使用

    2020-12-22 16:42:15
    0.nacos集成spring_启动nacos-server 1.nacos集成spring_切换nacos-server数据源为mysql 2.nacos集成spring_pom依赖 3.nacos集成spring_spring配置文件引入nacos配置文件 4.nacos集成spring_nacos配置文件 5....
  • Spring Cloud Alibaba基础教程:Nacos的数据持久化 前言 前景回顾: Nacos(七):Nacos共享配置 Nacos(六):多环境下如何“管理”及“隔离”配置和服务 Nacos(五):多环境下如何“读取”Nacos中相应...
  • 参考和感谢前言前景回顾:前面的七篇文章,从Nacos介绍,到Nacos做注册中心、做配置中心,一直都没有提及持久化的问题。我们服务的信息、配置的信息都放在哪的?当我们使用默认配置启动Nacos时,所有配置文件都被...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,307
精华内容 9,322
关键字:

nacos