搭建gateway踩的坑
最近自己搭了一个spring gateway网关,一个eureka注册中心,和两个应用,采用openFeign进行两个应用间的通讯,搭建步骤主要参考:http://t.csdn.cn/WBIsz
这个过程中遇到很多的坑,有些是自己失误导致,在次记录一下:
环境介绍:
操作系统:Windows10,(CentOS Linux release 7.9.2009 (Core),容器dockerdesktop4.9.0,这个环境只部署了Eureka server,然后通过宿主机和容器做了端口的映射后,本机访问通过,后面就没有再使用容器部署,觉得只在本机环境进行练习即可)。
jdk:8;idea:2018;maven:3.5.0;postman:v10
0,环境搭建
1)下载jdk,下载maven,配置环境变量,验证是否配置成功java -version,mvn -version。
2)给idea配置mvn,也可以使用idea自带的mvn,只是我习惯自己配置,在settings.xml指定国内仓库和本地参考(参考: maven 设置阿里云仓库-百度经验 (baidu.com))。
1, 步骤1是搭建Eureka Server
1)问题1:搭建过程中,自己用了最新的maven版本,3.8.6,结果工程创建时,无法下载依赖包,报错:Unable to import maven project: See logs for details,经过查找,发现idea版本与maven版本不匹配导致,重新下载,配置maven:3.5.0,依赖能正常下载,参考:http://t.csdn.cn/s5CGZ。
2)问题2:无法识别yml格式的文件,导致配置了8001端口,还是总是指向tomcat默认的8080端口,这个是因为在application.properites里写的,当然不识别了,创建application.yml,于是进行配置,这个问题得到了解决。
3)问题3:Eureka控制台报警告:EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER,这个大红字虽然不影响使用,但是看着别扭,原因是server和client之间每隔30秒会进行一次心跳通信,告诉server,client还活着,可以选择关闭告警功能,或调低比例阈(yu四声)值,我先是选择关闭阈值(参考:http://t.csdn.cn/LIyxg),发现这个警告没有了,又出现了新的警告,大概意思是说你这个关闭了,安全性就不保证了,于是调低了阈值(参考:http://t.csdn.cn/kfB7r),问题解决。
4)问题4:部署到容器,与宿主机端口映射的问题(如果本机练习,则无此问题)。(参考:http://t.csdn.cn/bwrNq),这里其实在宿主机找指定容器的配置文件可能会和博文中的不一致,我的配置文件地址在该博文的评论里。一定要先停止要修改的容器,然后修改配置文件,修改后不要启动那个容器,否则配置信息将恢复到原来的内容,你的修改就没有了,要重启整个docker,怎么重启呢,搞了半天也不知道,网上查也查不到,没办法,已经零点以后了,选择粗暴方法,用任务管理器杀掉所有docker的相关进程,然后重启电脑,启动docker,就好了,赶紧睡觉。
2. 步骤2是搭建两个应用
1)用postman发起服务,发起调用的那个服务总是报404,而被调用的服务正常。一看发起调用的服务编译报错了:NoSuchBeanDefinitionException: No qualifying bean of type 'com.digitalpower.loanservice.service.RpcdepositService' available,奇怪啊奇怪,启动类在最外面,确好像总也扫描不到那个rpc的服务类,加上了ComponentScan注解,指定了服务类的路径,倒是编译通过了(虽然编译通过,还是非常纳闷,启动类会扫描本目录和子目录的类啊,我的目录结构也没错,为啥还要指定???),但是postman发起还是404,又到零点了,不搞了。第二天,发现了问题,原来是发起调用的服务的启动类没有加注解EnableFeignClients,加上后,编译通过,404消失,feign跨应用调用,也成功。
3. 步骤3是搭建gateway。这一步很简单也很顺利,进行了yml配置,不需要动任何代码,Eureka控制台显示三个服务均启动了,指定gateway的地址端口,postman发起,成功。
搭建gateway踩的坑相关推荐
- 搭建RocketMQ踩的坑
RocketMQ搭建步骤 开发环境 64位 centos7(虚拟机,1G内存) 64位 jdk1.8 maven 3.5.0 Git tomcat(用于启动rocketmq-console) rock ...
- 微前端搭建子项目踩得坑(子应用挂载后容器不存在问题)
基于阿里的qiankun 框架搭建的微前端 1.先搭建主项目 先安装qiankun框架 官网https://qiankun.umijs.org/zh/guide cnpm i qiankun -S 1 ...
- 搭建RocketMQ踩的坑- No name server address
1.按照apache官网的Simple Message Example,来写报错No name server address 推荐直接按照官网把源码下载下来,上面有例子 官网贴出来的是缩略版 要知道n ...
- 搭建RocketMQ踩的坑-内存不足
环境是vmvare+ubuntu 1.http://rocketmq.apache.org/docs/quick-start/ 按照官网来启动mqnamesrv和mqbroker报错 错误如下 ...
- Wormhole流程搭建测试踩坑总结(二)
Wormhole 是宜信技术研发中心开发的一个一站式流式处理云平台解决方案.Wormhole 面向大数据流式处理项目的开发管理运维人员,致力于提供统一抽象的概念体系,直观可视化的操作界面,简单流畅的配 ...
- 企业搭建会员积分体系容易踩哪些坑?
在当下流量时代,越来越多的企业开始搭建了会员积分体系.因为会员积分体系运营好了,能使企业以更低的成本获得更高的收益回报.通俗的来说,就是利用会员积分系统来达到留客.促活.转化的目的,让用户与企业产生更 ...
- Hexo+next主题配置踩的坑
Hexo+next主题配置踩的坑 下载安装完next主题后才发现一堆的坑.由于next的版本不同.所以有的配置文件和网上的教程不大一样.自己踩了N多坑,于是打算记录一下.于是自己试了好几天才差不多配置 ...
- 关于emWin显示矢量字体TTF所踩的坑
最近由于项目的需要,要在Stm32上使用emWin 图形界面,其中涉及到中文字符的显示.由于TTF矢量字库可以随意缩放的优势,一劳永逸,省得建立多个字库文件切换,所以决定使用该方式. 关于Stm32+ ...
- 【回眸】作为一位应届生,写简历的时候会踩哪些坑?
[回眸]作为一位应届生,写简历的时候会踩哪些坑? [回眸]作为一位应届生,写简历的时候会踩哪些坑? 前言 简历基本信息 简历文件名称怎么写比较好 电话号码一定要写吗? 简历上写什么邮箱比较好? 简历上 ...
最新文章
- java等待欢迎界面_android welcome欢迎界面3秒后自动跳转
- 实现SQL Server 2012 镜像
- JAVA SPI机制及SPI机制在Tomcat中的应用
- mysqldatareader获取整行数据给datarow_SqlDataReader的用法(读取1整行)
- SQL数据库对象的修改
- c语言程序管理员权限运行,从没有管理员权限的应用程序启动Windows服务(C ++)...
- Android 用户界面---样式和主题(Styles and Themes)(二)
- C#在foreach中重用变量是否有原因?
- Glassfish 设置时区
- 设计模式学习--------1.组合模式学习
- java面试题之什么是ThreadLocal?底层如何实现的?
- 计算并输出九九乘法表用c语言流程图,输出九九乘法表 (C语言代码)
- (二十三)张量场函数的散度与旋度
- DirectX9 SDK Samples(19) AntiAlias
- lamp平台构建和phpMyAdmin工具
- 背包问题(Knapsack Problem)—— 0/1 背包问题 —— 总价值最大问题
- bigworld源码分析(3)——dbMgr分析
- 基于LMS及FxLMS算法的ANC主动降噪仿真分析
- 2023湖南大学计算机考研信息汇总
- 随机生成6位字母+数字混合密码