springcloud gateway 使用nacos 作为配置中心 和 注册中心

大家好,我是烤鸭:

今天分享下 springcloud gateway 使用nacos作为配置中心和注册中心,主要是还是配置中心。

源码下载:

https://gitee.com/fireduck_admin/springcloud-gateway-nacos-demo

1.  本地部署nacos

下载 https://github.com/alibaba/nacos/releases/tag/1.3.2

本地新建nacos数据库,执行 conf/nacos-mysql.sql

修改 conf/application.properties 关于数据库的配置

spring.datasource.platform=mysql### Count of DB:
db.num=1### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=root

启动 ./startup.cmd -m standalone,访问 localhost:8848 如图

2.  网关项目搭建

这里需要注意的是普通项目和 gateway项目 有些不一样

比如普通项目的 bootstrap.yml,这里不需要写nacos 地址,指定加载的配置文件 -Dspring.profiles.active=dev/pro

spring:cloud:nacos:config:file-extension: ymlgroup: demo-dickprefix: applicationprofiles:active:'@profiles.active@'

在 bootstrap-dev.yml 里再写地址

spring:cloud:nacos:config:server-addr: localhost:8848

但是 gatewway 项目不行,加载顺序的问题,必须在 bootstrap.yml 指定地址。

${} 可以读取启动参数,需要在启动时加上 -Dnacos-server-addr=123.1.1.2:8848,不写的话就默认localhost:8848

spring:cloud:nacos:config:file-extension: ymlgroup: gatewayprefix: applicationserver-addr: ${nacos-server-addr:localhost:8848}

3.  nacos集成

gateway 项目nacos 配置,lb://后面的是其他服务注册在nacos上的名称,也就是spring.applicaiton.name

management:endpoints:web:exposure:include: '*'
server:port: 8081servlet:context-path: /
spring:application:name: gatewaycloud:gateway:routes:- id: tick-routefilters:- StripPrefix=1predicates:- name: Pathargs[pattern]: /tick/**uri: lb://demo-tick1- id: tick-routefilters:- StripPrefix=1predicates:- name: Pathargs[pattern]: /dick/**uri: lb://demo-dicknacos:discovery:server-addr: localhost:8848password: nacosusername: nacos

启动成功拉取nacos配置(端口 8081 生效)

另外两个项目就不贴了,源码地址在文章开始。

4.  注册中心

可以看到3个服务都注册成功了。

正常情况下访问 http://localhost:8081/dick/dick/abc 和 http://localhost:8081/tick/tick/abc 都可以返回。

动态修改网关路由:

更新gateway nacos 配置后,lb://demo-tick 改为 demo-tick1 立即生效,无需重启。由于找不到 demo-tick1 所以报错。

5.  最后说一下

关于上面地址/dick/dick 第一个是网关转发的路由,第二个是服务本身的 context-path。

而如果网关项目用的是域名/gateway 转发的话,需要为网关项目加 context-path,具体可以参考 

https://blog.csdn.net/Angry_Mills/article/details/108132203

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412628.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 用css画一个太阳

[css] 用css画一个太阳 // css.sun {margin: 200px;width: 200px;height: 200px;border-radius: 50%;background: red;box-shadow: 0 0 21px #fe9e9e;position: relative;}// ::before & ::after 辅助.sun::before {width: 0;height: 500px;content: ;border-left: 1px s…

java后台工具类-通过交易码获得方法名

import org.apache.log4j.Logger;import net.sf.json.JSONObject;public class GetResultByTransCode {private final static Logger log4j Logger.getLogger(GetResultByTransCode.class);/*** 功能描述:通过交易码查询服务名及方法名* param transCode* return J…

springboot 拦截器的坑 WebMvcConfigurationSupport 失效

大家好,我是烤鸭: 今天遇到一个拦截器失效的问题,具体看源码分析下。 环境: springboot 2.x spring 5.x 1. 先说下业务场景 需求是对请求进入时和离开时对和线程id绑定,用的Threadlocal,现在有一个问题&#xff0…

[css] 你有用过哪些css框架?说说它们的特点

[css] 你有用过哪些css框架?说说它们的特点 bootstrap 不够全,所以后来基本都是借鉴思路取长补短自己写的 css 类库或原子类库。 animate.css 用起来很爽,主要用于滚动和小动效。过渡动画当然还是 clip.js 来弄的。 Tent CSS,WeU…

14 内置函数2

今日主要内容 1. 昨日补充 repr() 显示出字符串的官方表示形式 chr() ord() 2. 递归 自己调用自己 递归的入口(参数) 和 出口(return) 树形结构的遍历 3. 二分法 掐头结尾取中间 查找效率非常的高1.递…

skywalking 源码解析——多线程变量传递 EnhancedInstance

大家好,我是烤鸭: 今天分享下 skywalking源码,正好自己用到相关的内容了。 1. 拦截点 三个主要的拦截器、构造方法、静态方法和示例方法,每个切面里都可以重写这些方法,并且指定进入的拦截器。 2. trace 相关内容 …

[css] box-sizing常用的属性有哪些?分别有什么作用?

[css] box-sizing常用的属性有哪些?分别有什么作用? box-sizing常用的属性有 content-box 和 border-box。content-box 盒子的宽度不包含 border和padding,border-box盒子的宽度包含border 和padding。个人简介 我是歌谣,欢迎和大…

2018-2019-1 20165303 实验五 通讯协议设计

任务一 Linux下OpenSSL的安装与使用 前往OpenSSL官网,选择打开OpenSSL源码下载地址,按照下图所示方法下载压缩包“openssl-master.zip Linux下使用unzip openssl-master.zip命令解压 安装的具体命令如下:$ ./config$ make$ make test$ make i…

从字节码看 finally关键字、异常表

大家好,我是烤鸭: 今天说下 finally 这个关键字。 1. 认识finally finally 总是跟 try、catch一起出现,finally是执行方法结束一定要执行的代码,比如流关闭等等。 finally是如何实现在异常捕捉之后保证执行 finally 代码块里的…

[css] inline、block、inline-block这三个属性值有什么区别?

[css] inline、block、inline-block这三个属性值有什么区别? inline: 行内元素,元素不独占一行,不可以修改宽高 block: 块级元素,元素独占一行,可以修改宽高 inline-block: 行内块级…

BZOJ3110: [Zjoi2013]K大数查询(整体二分)

Description 有N个位置,M个操作。操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是多少。 Input 第一行N&#…

Unhandled exception: org.springframework.beans.factory.BeanDefinitionStoreException

大家好,我是烤鸭: ​ 使用 idea 莫名其妙的错误。 无法编译 异常已经 catch 住了,提示明显是有问题的。 再看一下 maven install 的结果 Error:(99, 100) java: 无法访问org.springframework.core.env.EnvironmentCapable 找不到org.spr…

[css] margin和padding使用的场景有哪些?

[css] margin和padding使用的场景有哪些? 实现自适应的等比例矩形效果: div { padding: 50%; } div { padding: 25% 50%; } //宽高比为 2:1 的矩形效果实现头图高度天然等比例缩小效果 .box { padding: 10% 50%; position: relative; } .box > img {…

poj 1637 Sightseeing tour——最大流+欧拉回路

题目:http://poj.org/problem?id1637 先给无向边随便定向,如果一个点的入度大于出度,就从源点向它连 ( 入度 - 出度 / 2 ) 容量的边,意为需要流出去这么多;流出去1表示改了一条边的方向,会使自己出度-1、入…

[css] 什么是视差滚动?如何实现视差滚动的效果?

[css] 什么是视差滚动?如何实现视差滚动的效果? 什么是视差滚动: 就是在同一视角下,鼠标或者页面滚动时,不同元素以不同的速率跟随滚动,产生生动的效果。 如何实现视差滚动: 根据页面滚动高度的…

springcloud gateway 源码解析、请求响应流程、第三方响应结果在 gateway 的经过

大家好,我是烤鸭: 1. 官方介绍 官方文档: 看的是 2.2.5.RELEASE 版本的 https://docs.spring.io/spring-cloud-gateway/docs/2.2.5.RELEASE/reference/html/ 看一下官方这段说明,gateway 使用的是 webflux 和 reactor&#x…

beetl的使用感受

beetl 的用法&#xff0c;跟layui的laytpl的模版语言差不多。写的很舒服。没有thymeleaf那么麻烦。例如 <%for(loadDischargItem in loadDischargItemList){ %><tr><td>${loadDischargItemLP.index}</td><td><input type"text" id&…

[css] css3的:nth-child和:nth-of-type的区别是什么?

[css] css3的:nth-child和:nth-of-type的区别是什么&#xff1f; :nth-child(n) 选择器匹配属于其父元素的第 N 个子元素&#xff0c;不论元素的类型。 :nth-of-type(n) 选择器匹配属于父元素的特定类型的第 N 个子元素。 n 可以是数字、关键词或公式。个人简介 我是歌谣&…

改logback logstash-logback-encoder 框架本身的日志级别

大家好&#xff0c;我是烤鸭&#xff1a; 最近遇到一个问题&#xff0c;想把logback框架本身的日志级别修改&#xff0c;需要 logstash-logback-encoder 6.1 以上的版本才可以。 直接上代码 这里修改的不是业务日志级别&#xff0c;是 logback 框架本身(确切地说是 logstash…

idea首次创建新模块的详细操作

依赖网址:https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api/3.1.0 https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api/2.3.1 https://mvnrepository.com/artifact/org.springframework/spring-webmvc 创建文件夹 修改版本号 配…