SpringCloud心得(二)

1.GetWay(网关)
Spring Cloud Gateway是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息, 从而加强安全保护。Spring Cloud Gateway本身也是一个微服务,需要注册到Eureka服务注册中心。 网关的核心功能是:过滤和路由
1.GetWay主要是在配置文件中进行性相关定义和操作:spring: cloud: gateway: routes: # 路由id,可以随意写 - id: user-service-route # 代理的服务地址 uri: HTTP://127.0.0.1:9091 # 路由断言,可以配置映射路径 predicates: - Path=/user/**其中id是网关的名称,可以随意命名;uri是需要代理的服务端口,是该网关的服务对象;predicates: -Path是映射的路径,即当路径中含有该user路径是会被转发到被服务的端口上去来完成服务。我们也可以通过动态路由来对服务进行访问,具体操作为将上面的uri改为服务的名称,而不是具体的ip地址即可。
2.添加、去除前缀
当我们需要在服务地址前添加相应的前缀后缀的时候,我们只需要在配置文件中添加filters: -PrefixPath=前缀名称即可添加前缀;在配置文件中添加filters: -StripPrefix=需要跳过的前缀的个数即可完成前缀的去除
2.Config分布式配置中心
SpringCloud为了方便进行微服务的管理,配置文件可能存在本地,也可能存在远程仓库中,所以SpringCloud提供了SpringCloudConfig服务来获取配置文件。
我们在仓库中的配置文件需要符合相关的命名规范:{application}-{profile}.yml 或 {application}-{profile}.properties。其中application为应用名称,profile用于区分开发环境、测试环境、生产环境等。
配置文件编写完成后我们需要搭建Config服务(Config也需要注册到eureka),我们需要在启动类上添加@EnableConfigServer来开启配置服务。
当我们在使用其他服务时,需要创建bootstrap.yml文件来获取代码。其中bootstrap.yml配置文件中需要配置spring: cloud: config: name: 代理服务的名称,需要与仓库中的配置文件的application一致 profile: 文件类型,需要与仓库中的profile保持一致 label: 分支名称,需要与仓库中配置文件所属分支保持一致 discovery: enabled: 是否使用配置中心获取配置文件 service-id: 配置中心的而服务名称,也就是config的名称
3.Bus服务总线
我们在更新仓库的配置文件内容的时候,本地代码不会自动更新,所以我们需要使用Bus服务来进行代码的同步更新。
使用Bus服务我们需要安装RabbitMQ才可以使用相关服务。
我们只需要在Config的配置文件中添加management: endpoints: web:exposure: # 暴露触发消息总线的地址 include: bus-refresh来将服务接口打开即可。
同时在controller上添加@RefreshScope来进行服务的刷新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值