栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud微服务架构使用心得

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud微服务架构使用心得

不积跬步,无以至千里;不积小流,无以成江海


前言

最近通过使用SpringCloud微服务架构,记录一些心得。


  • 由于spring cloud是基于spring boot构建的,所以在引入springcloud依赖时需要考虑与spring boot的版本兼容性问题。例如,spring boot使用的是2.2.x或2.3.x,则springcloud版本号需要选择Hoxton。

  • 创建注册中心Eureka服务,需要注意的是注册中心默认注销微服务实例的时间为90秒,当网络故障时,虽然无法进行正常通信,但是微服务本身其实是健康的,就不应该注销这个微服务,此时就应该使用注册中心的自我保护模式来应对网络的异常:eureka.server.enable-self-preservation=true。

  • 若服务器存在多个网卡,但是只有一个网卡可以被访问,那么需要配置
    a) 忽略指定名称的网卡:inetutils:ignored-interfaces
    b) 指定使用的网络地址:inetutils:preferredNetworks
    c) 只使用站点本地地址:inetutils:useOnlySiteLocalInterfaces: true

  • 创建网关gateway服务,在gateway中配置uri配置有三种方式,包括
    a) websocket方式:uri:ws://localhost:1111
    b) http方式:uri: http:// localhost:1111
    c) 注册中心中服务名方式:uri: lb://server-name
    在实际项目中,还用到了filters:StripPrefix=1过滤器截取路径个数的功能,因为在nginx中加入了/api这部分路径,而在微服务实例的真实路径中是不存在/api这个路径的,所以需要去掉这部分路径才是访问后端接口的真实地址。

  • maven打包
    a) 由于在实际项目中会建立无启动类的公共模块,若不注意在pom文件中加入了maven打包插件,而maven打包插件在项目打包时会去寻找main入口,此时找不到main入口就会导致打包失败,所以需要注意:不要在无启动类的公共模块中加入maven打包插件。
    b) 特别的,需要在所有具有子模块的父模块中的pom文件里加入pom,这里我的理解是,父模块只是起到了聚合工程和传递依赖的作用,它本身不需要编译。若不作声明,则packaging默认为jar,那么此时也会造成打包失败。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872072.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号