SpringCloud Greenwich(五)之nacos、dubbo、Zuul和 gateway集成

本项目是搭建基于nacos注册中心的springcloud,集成dubbo框架,使用zuul网关和gateway网关

一、框架搭建

(1)项目结构

micro-service  服务提供者
zuul-gateway  zuul网关
springcloud-gateway  gateway网关
class-provider  duboo提供者
user-provider  duboo提供者
duboo-consumer  duboo消费者
dubbo-interface  duboo接口api

 

(2)环境

nacos 1.4.1

springboot 2.1.9

springcloud Greenwich

dubbo  2.7.6

注:nacos搭建

 

二、项目配置application.yaml

127.0.0.1为本地nacos地址

(1)micro-service

spring:application:name: micro-serviceprofiles:active: devjackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssdefault-property-inclusion: ALWAYScloud:nacos:discovery:server-addr: 127.0.0.1:8848server:port: 8081

(2)zuul-gateway

spring:application:name: zuul-gatewayprofiles:active: devjackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssdefault-property-inclusion: ALWAYScloud:nacos:discovery:server-addr: 127.0.0.1:8848server:port: 8082zuul:strip-prefix: true #转发路径截断匹配前缀
#  prefix: "/api"add-proxy-headers: falseset-content-length: truesemaphore:max-semaphores: 600hystrix:command:default:execution:isolation:thread:timeoutInMilliseconds: 120000
ribbon:ReadTimeout: 240000ConnectTimeout: 2000MaxAutoRetries: 0MaxAutoRetriesNextServer: 1eager-load:enabled: trueclients: micro-service

(3) springcloud-gateway

spring:application:name: springcloud-gatewayprofiles:active: devjackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssdefault-property-inclusion: ALWAYScloud:nacos:discovery:server-addr: 127.0.0.1:8848gateway:discovery:locator:enabled: truelower-case-service-id: truehttpclient:connect-timeout: 60000response-timeout: 5sroutes:- id: micro-service1uri: lb://micro-servicepredicates:- Path=/micro-service1/**filters:- StripPrefix=1
server:port: 8083hystrix:command:default:execution:isolation:thread:timeoutInMilliseconds: 120000
ribbon:ReadTimeout: 240000ConnectTimeout: 2000MaxAutoRetries: 0MaxAutoRetriesNextServer: 1eager-load:enabled: trueclients: micro-service

(4)user-provider

dubbo:registry:address: spring-cloud://${spring.cloud.nacos.discovery.server-addr}protocol:name: dubboport: -1scan:base-packages: com.mk.springcloud.dubbocloud:subscribed-services: ''spring:application:name: user-providerprofiles:active: devjackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssdefault-property-inclusion: ALWAYSmain:allow-bean-definition-overriding: truecloud:nacos:discovery:server-addr: 172.0.0.1:8848server:port: 8084feign:hystrix:enabled: truelogBack:logPathDir: ${logPathDir:./log/${spring.application.name}}

(5)class-provider

dubbo:registry:address: spring-cloud://${spring.cloud.nacos.discovery.server-addr}protocol:name: dubboport: -1scan:base-packages: com.mk.springcloud.dubbocloud:subscribed-services: user-provider
#  consumer:
#    check: falsespring:application:name: class-providerprofiles:active: devjackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssdefault-property-inclusion: ALWAYSmain:allow-bean-definition-overriding: truecloud:nacos:discovery:server-addr: 172.0.0.1:8848server:port: 8085feign:hystrix:enabled: truelogBack:logPathDir: ${logPathDir:./log/${spring.application.name}}

(6)dubbo-consumer

dubbo:registry:address: spring-cloud://${spring.cloud.nacos.discovery.server-addr}protocol:name: dubboport: -1scan:base-packages: com.mk.springcloud.dubbocloud:subscribed-services: user-provider,class-provider
#  consumer:
#    check: falsespring:application:name: dubbo-consumerprofiles:active: devjackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ssdefault-property-inclusion: ALWAYSmain:allow-bean-definition-overriding: truecloud:nacos:discovery:server-addr: 172.0.0.1:8848server:port: 8086logBack:logPathDir: ${logPathDir:./log/${spring.application.name}}

dubbo.register配置可以写成其他方式,程序只取spring-cloud://这个协议头,如:

dubbo:registry:address: spring-cloud://localhost

dubbo.scan.base-packages必须填写,否则dubbo不会注册dubbo接口服务

dubbo:scan:base-packages: com.mk.springcloud.dubbo

 

三、dubbo存在的问题

consumer先启动,provider后启动无法发现问题在版本spring-cloud-starter-dubbo 2.2.4.RELEASE已经解决了。

provider重启后,consumer无法自动发现provider,官方还没有给出明确的解决时间。

所以每次重启provider,都要把consumer重启一遍才能访问

 

四、项目地址

https://github.com/90duc/springcloud-nacos-dubbo

 

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

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

相关文章

.NET/.NET Core中更清晰的堆栈跟踪

在基于异常的语言中,堆栈跟踪是用于诊断问题最重要的工具之一。在某些情况下,开发人员能得到的仅为一条简短的错误信息以及堆栈跟踪,尤其是当个人可识别信息(PII)约束限制了日志记录的内容时。随着任务并行库&#xff…

SpringCloud Greenwich(六)集成dubbo与openfeign的feignTargeter报错,cannot access its superinterface Targeter

一、现象 org.springframework.beans.factory.BeanCreationException: Error creating bean with name feignTargeter defined in class path resource [org/springframework/cloud/openfeign/FeignAutoConfiguration$HystrixFeignTargeterConfiguration.class]: Initializati…

一个开源的强类型客户端(.NET 中的 Open Fegin)— Rabbit Go

在做RabbitCloud(之前是一个RPC,现在是一个微服务框架)的时候往往避不开客户端代理,之前把这些客户端代理都算作服务框架不可缺少的一部分,随着后期的深入发现这些客户端代理其实可以互通,类似spring cloud…

SpringCloud Greenwich(七)集成dubbo先启动消费者(check=false),然后启动提供者无法自动发现注册

SpringCloud Greenwich集成dubbo先启动消费者(checkfalse),然后启动提供者无法自动发现注册问题。 官方说明:修复bug的提交时间 spring-cloud-starter-dubbo 2.2.4.RELEASE之前的版本都会有先启动消费者(checkfalse&am…

.NET Core 实现定时抓取博客园首页文章信息并发送到邮箱

前言大家好,我是晓晨。许久没有更新博客了,今天给大家带来一篇干货型文章,一个每隔5分钟抓取博客园首页文章信息并在第二天的上午9点发送到你的邮箱的小工具。比如我在2018年2月14日,9点来到公司我就会收到一封邮件,是…

Linux shell echo打印不出换行

一、现象 echo打印不出换行 指令 ps aux | grep python ps aux | grep python | xargs echo 运行结果: 二、使用参数-e echo一样打印不出换行 ps aux | grep python | xargs echo -e 运行结果: 三、使用参数-e和双引号包裹占位符 echo终于可以…

基于Citus和ASP.NET Core开发多租户应用

Citus是基于PsotgreSQL的扩展,用于切分PsotgreSQL的数据,非常简单地实现数据“切片(sharp)”。如果不使用Citus,则需要开发者自己实现分布式数据访问层(DDAL),实现路由和结果汇总等逻…

ASP.NET CORE 微服务(简化版)实战系列-没有比这性价比再高的实战课程了

ASP.NET CORE 微服务(简化版)实战系列,最后1天298,现在注册购买再减50。作者jesse 腾飞在2.14 早上我买了他的课程后,他才做了下面这个活动:作者jesse 腾飞花了大量的时间做了一个非常好的视频教程,我个人也…

祝大家狗年家庭事业旺旺旺

冒泡排序,选择排序,插入排序,快速排序,堆排序,归并排序,希尔排序,桶排序,基数排序新年帮您排忧解难。有向图,无向图,有环图,无环图,完…

携程Apollo(阿波罗)配置中心在.NET Core项目快速集成

.NET Core的支持文档大体上可以参考文档.Net客户端使用指南:https://github.com/ctripcorp/apollo/wiki/.Net%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97登录Apollo上新建App和相关的配置项,可以参考如下配置:在Nuget上…

欢乐纪中A组赛【2019.8.9】

前言 在短暂的比赛时间中,我发现本菜鸡越是功于心计想ACACAC,越是拿不到分,所以。。。 我不写比赛了JOJO!JOJO!JOJO! 成绩 JJJ表示初中,HHH表示高中后面加的是几年级 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC17…

SpringCloud Zuul(四)之工作原理

一、筛选器概述 Zuul的中心是一系列过滤器,这些过滤器能够在HTTP请求和响应的路由期间执行一系列操作。 以下是Zuul过滤器的主要特征: 类型:通常定义路由流程中应用过滤器的阶段(尽管它可以是任何自定义字符串)执行…

使用Nito.AsyncEx实现异步锁

Lock是常用的同步锁,但是我们无法在Lock的内部实现异步调用,比如我们无法使用await.以下面的代码为例,当你在lock内部使用await时,VS会报错提醒。最简单的解决办法就是使用第三方的库Nito.AsyncEx。可以通过Nuget安装。通过AsyncL…

汽车之家店铺数据抓取 DotnetSpider实战[一]

一、背景春节也不能闲着,一直想学一下爬虫怎么玩,网上搜了一大堆,大多都是Python的,大家也比较活跃,文章也比较多,找了一圈,发现园子里面有个大神开发了一个DotNetSpider的开源库,很…

Comet OJ(Contest #8)-D菜菜种菜【树状数组,指针】

前言 话说昨晚写题的时候贼NMNMNM惊险,最后22秒把程序交了上去竟然过了 正题 题目链接:https://cometoj.com/contest/58/problem/D?problem_id2758 题目大意 nnn个点mmm条单向边,然后每次询问一个区间[L,R][L,R][L,R]求若只选择这个区间的点&#xf…

微软正式开源Blazor ,将.NET带回到浏览器

微软 ASP.NET 团队近日正式开源了 Blazor ,这是一个 Web UI 框架,可通过 WebAssembly 在任意浏览器中运行 .Net 。Blazor 旨在简化快速的单页面 .Net 浏览器应用的构建过程,它虽然使用了诸如 CSS 和 HTML 之类的 Web 技术,但它使…

在.NetCore中使用Myrmec检测文件真实格式

Myrmec 是什么?Myrmec 是一个用于检测文件格式的库,Myrmec不同于其它库或者手写检测代码,Myrmec不依赖文件扩展名(在实际使用中,你的用户很可能使用虚假的扩展名欺骗你的应用程序),Myrmec会检测…

jzoj3736-[NOI2014模拟7.11]数学题(math)【计算几何】

正题 题目大意 给定两个向量a(x1,y1),b(x2,y2)a(x_1,y_1),b(x_2,y_2)a(x1​,y1​),b(x2​,y2​),然后求∣λ1aλ2b∣|\lambda _1a\lambda _2b|∣λ1​aλ2​b∣的最小值,要求λ1,λ2\lambda_1,\lambda _2λ1​,λ2​不同时为0。 解题思路 我们先考虑若…

Orleans之EventSourcing

引入:如果没有意外,我再这篇文章中用ES代替EventSourcing,如果碰到"事件回溯","事件溯源","事溯"等词语,都一般代表Eventsourcing.如果引入Orleans而不用es的话,那就只用了Orleans一半的优点,多线程编程的逻辑\排错的简化以及可分布式.下面我聊聊…

Alex: 2018年对混合现实MR的展望

原文作者:Alex Kipman, 微软操作系统工程院技术院士 Hello 大家好!难以置信我们已经走过了2018年的头两个月了。每年一月份我都会去巴西省亲,和我的家人欢聚一堂,度过一个美好的假日。在我省亲的同时,我想了…