写在前面

注册中心、配置中心的概念就不在这里解释了。发现服务原来一直用的是Eureka,因为这家伙闭源了,不爽。然后就发现了nacos,阿里巴巴的,好东西,一个搞定注册中心和配置中心。官网:https://nacos.io/en-us/。官网的手册比较入门可以,实用化还需要结合项目。接下来简单介绍下如何使用nacos搭建注册中心和服务中心。

在进行下面操作前,自己去git上下载一个打包发布后的nacos服务,地址:https://github.com/alibaba/nacos/releases。Linux下载第一个,windows下载第二个。后面两个是源码。如何启动使用nacos,nacos官网说的很详细,不再赘述。

注册中心

服务提供者

https://start.spring.io/下载一个原始的spring boot工程,别忘了添加Web依赖,如何下载就不在这里说了。添加依赖:

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  <version>2.2.1.RELEASE</version>
</dependency>

配置文件application.properties添加配置:

server.port=8070
spring.application.name=service-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

启动类

 添加一个测试用的Controller:

至此,服务提供者完成。

服务消费者

同服务提供者操作,下载一个原始的spring boot工程,添加依赖,注意,因为要使用feign调用服务提供者,要添加相应依赖:

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  <version>2.2.1.RELEASE</version>
</dependency>
  <dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-openfeign</artifactId>
  <version>2.2.2.RELEASE</version>
</dependency>

配置文件application.properties添加配置:

server.port=8080
spring.application.name=service-consumer
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

启动类:

添加feign的client:

添加测试controller:

准备工作完成,启动nacos、服务提供者,服务消费者。全部启动成功后,就可以在nacos的控制台界面里看到两个已经注册进去的服务:

直接使用浏览器访问:http://127.0.0.1:8080/consumer/hello-consumer

配置中心

直接在上面的服务提供者中使用nacos的配置中心。添加依赖:

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  <version>2.2.1.RELEASE</version>
</dependency>

在Controller添加以下注解及代码,并修改接口:

配置文件application.properties添加配置:

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

重启服务提供者。

在nacos控制台界面的【配置列表】中添加配置:

发布后,再访问http://127.0.0.1:8080/consumer/hello-consumer

写在最后

简单介绍了如何使用,至于用到的注解有什么用,大家自行百度。

Spring Cloud+nacos+Feign,实现注册中心及配置中心的更多相关文章

  1. Spring Cloud(七):使用SVN存储分布式配置中心文件和实现refresh

    国内很多公司都使用的svn来做代码的版本控制,我们先介绍以下如何使用svn+Spring Cloud Config来做配置中心. svn版本 同样先示例server端的代码,基本步骤一样. 1.添加依 ...

  2. Spring Cloud Alibaba 的服务注册与发现

    Spring Cloud Alibaba 服务发现例子 一.需求 1.提供者完成的功能 2.消费者完成的功能 3.可以附加的额外配置 二.实现步骤 1.总的依赖引入 2.服务提供者和发现者,引入服务发 ...

  3. Spring Cloud - Nacos注册中心入门单机模式及集群模式

    近几年微服务很火,Spring Cloud提供了为服务领域的一整套解决方案.其中Spring Cloud Alibaba是我们SpringCloud的一个子项目,是提供微服务开发的一站式解决方案. 包 ...

  4. spring boot / cloud (十七) 快速搭建注册中心和配置中心

    spring boot / cloud (十七) 快速搭建注册中心和配置中心 本文将使用spring cloud的eureka和config server来搭建. 然后搭建的模式,有很多种,本文主要聊 ...

  5. Alibaba Nacos 学习(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现

    Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spr ...

  6. spring cloud实战 1-高可用注册中心

    创建父maven项目 提交代码至GitHub 创建eureka-server-1 项目搭建两种方式: 父pom中继承spring-boot-starter-parent,子pom中直接结成父pom.该 ...

  7. Spring Cloud 系列之 Consul 注册中心(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Consul 注册中心(一) 本篇文章讲解 Consul 集群环境的搭建. Consul 集群 上图是一个简单的 Co ...

  8. Spring Cloud Consul使用——服务注册与发现(注册中心)

    整理自该文章 一.Consul 服务端接下来我们开发 Consul 的服务端,创建一个 spring-cloud-consul-producer 项目 1.添加依赖包 <dependencies ...

  9. Spring Cloud Eureka 实现服务注册与发现

    微服务 是一种架构模式,跟具体的语言实现无关,微服务架构将业务逻辑分散到了各个服务当中,服务间通过网络层进行通信共同协作:这样一个应用就可以划分为多个服务单独来维护发布.构建一个可靠微服务系统是需要具 ...

随机推荐

  1. 使用TensorFlow v2.0构建多层感知器

    使用TensorFlow v2.0构建一个两层隐藏层完全连接的神经网络(多层感知器). 这个例子使用低级方法来更好地理解构建神经网络和训练过程背后的所有机制. 神经网络概述 MNIST 数据集概述 此 ...

  2. PHP7内核(五):系统分析生命周期

    上篇文章讲述了模块初始化阶段之前的准备工作,本篇我来详细介绍PHP生命周期的五个阶段. 一.模块初始化阶段 我们先来看一下该阶段的每个函数的作用. 1.1.sapi_initialize_reques ...

  3. js的预编译

    JavaScript不会完全按照代码的顺序执行,在执行之前会对定义的函数和变量先来一边所谓的预编译处理. 先来说下对变量的预处理: console.log(a) //undefined var a = ...

  4. 感知器基础原理及python实现

    简单版本,按照李航的<统计学习方法>的思路编写 数据采用了著名的sklearn自带的iries数据,最优化求解采用了SGD算法. 预处理增加了标准化操作. ''' perceptron c ...

  5. Ubuntu下已安装Anaconda但出现conda: command not found错误解决办法

    原因:环境未配置 执行[vim ~/.bashrc]命令,进入配置文件,在最后一行按'o'插入一行,并添加语句: export PATH=/home/duanyongchun/anaconda3/bi ...

  6. ConcurrentHashMap1.7和1.8的源码分析比较

    ConcurrentHashMap 在多线程环境下,使用HashMap进行put操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用ConcurrentHashMap代替HashMap,为 ...

  7. nginx代理图片访问

    nginx代理图片访问 首先配置nginx的代理物理路径 我的是在E盘下面的image 1 #图片的代理 2 server { 3 listen 80; 4 #配置访问的域名 5 server_nam ...

  8. Android Studio使用butterknife库绑定控件ID注解

    在线导入butterknife的jar包 在Android-app-Open Module Settings下选中module下的app 选择Dependencies,点击右边的“+”,选择第一个:1 ...

  9. 配置一个mariadb数据库《二》

                                                             mariadb 配置一个数据库 案例4:配置一个数据库 4.1 问题 本例要求在虚拟机 ...

  10. 团队项目-运动App

    一:团队成员介绍 队长:温学智 博客地址:https://www.cnblogs.com/dazhi151/                    技术型大佬,学习能力相对团队来说是最高的.并且作为班 ...