当前位置: 首页 > wzjs >正文

做网站需要团队还是一个人网络营销策略的演变

做网站需要团队还是一个人,网络营销策略的演变,个人网站建设总结,wordpress标题代码调用目录 1.http客户端Feign 1.1Feign替代RestTemplate 1.1.1Feign的介绍 1.1.2定义和使用Feign客户端 1.2自定义配置 配置Feign日志有两种方式: 1.3Feign使用优化 Feign的性能优化-连接池配置 1.4Feign的最佳实践 2.统一网关Gateway 2.1为什么需要网关 网关…

目录

1.http客户端Feign

1.1Feign替代RestTemplate

1.1.1Feign的介绍

1.1.2定义和使用Feign客户端

1.2自定义配置

配置Feign日志有两种方式:

1.3Feign使用优化

Feign的性能优化-连接池配置

1.4Feign的最佳实践

2.统一网关Gateway

2.1为什么需要网关

网关的技术实现

2.2gateway快速入门

搭建网关服务的步骤:

执行逻辑

总结:

2.3断言工厂

2.4过滤器工厂

默认过滤器

2.5全局过滤器GlobalFilter

总结

过滤器执行顺序

2.6跨域配置


1.http客户端Feign

1.1Feign替代RestTemplate

我们以前利用RestTemplate发起远程调用代码:

存在下面的问题:

  • 代码可读性差,编程体验不统一
  • 参数复杂url难以维护

1.1.1Feign的介绍

Feign是一个声明式的http客户端,其作用就是帮助我们优雅的实习http请求的发送,解决上面提到的问题。

1.1.2定义和使用Feign客户端

1.引入依赖:

2.在order-service启动类添加注解开启Feign功能

3.编写Feign客户端

主要是基于SpringMVC的注解来声明远程调用的信息,比如:

  • 服务名称:userservice
  • 请求方式:GET
  • 请求路径:/user/{id}
  • 请求的参数:Long id
  • 返回值类型:User

1.2自定义配置

Feign运行自定义配置来覆盖默认的配置,可以修改的配置如下:

一般我们需要配置的就是日志级别

配置Feign日志有两种方式:

方式一:而皮质文件方式

1.全局生效

2.局部生效

配置Feign日志的方式二:java代码方式,需要先声明一个bean:

1.如果全局配置,把它放到@EnableFeignClients这个注解中:

2.如果是局部配置,把它放到@Feignclient这个注解中:

1.3Feign使用优化

Feign是一个声明式客户端,最终发起请求还是会调用底层

Feign底层的客户端实现:

  • URLConnection:默认实现,不支持连接池
  • Apache HttpClient:支持连接池
  • OKHttp:支持连接池

因此优化Feign的性能主要包括:

  • 1.使用连接池代替默认的URLConnection
  • 2.日志级别,最好用basic或none

Feign的性能优化-连接池配置

引入依赖:

配置连接池:

1.4Feign的最佳实践

  • 方式一(继承):给消费者的FeignClient和提供的controller定义统一的符接口作为标准

但是Feign官方却说明不推荐共享接口方式,因为会造成紧耦合

  • 方式二(抽取):将FeignClient抽取为独立模块,并且把接口有关的POJO,默认的Feign配置都放到这个模块中,提供给所有消费者使用

实现方式二的步骤如下:

  • 1.首先创建一个module,命名为feign-api,然后引入feign的starter依赖
  • 2.将order-service中编写的UserClient,User,DefaultFeignConfiguration都复制到feign-api项目中
  • 3.在order-service中引入feign-api的依赖
  • 4.修改order-service中的所有与上述三个组件相关的import部分,改查导入feign-api中的包

当定义的FeignClient不在SpringBootApplication的扫描包范围时,这些FeignClient无法使用。有两种解决:

方式一:指定Feignclient所在包

方式二:指定FeignClient字节码

 

2.统一网关Gateway

2.1为什么需要网关

网关功能:其实就是对整个微服务的一种保护

  • 身份认证和权限校验
  • 服务路由,负载均衡
  • 请求限流

网关的技术实现

在SpringCloud中网关的实现包括两种:

  • gateway
  • zuul

Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的webFlux,属于响应式编程的实现,具备更好的性能。

2.2gateway快速入门

搭建网关服务的步骤:

1.创建新的module,引入SpringCloudGateway的依赖和nacos的服务发现依赖:

2.编写路由配置及nacos地址

执行逻辑

总结:

2.3断言工厂

我们在配置文件中写到断言规则只是字符串,这些字符串会被PredicateFactory读取并处理,转变为路由判断的条件

Spring提供了11种基本的Predicate工厂:

2.4过滤器工厂

GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理:

Spring提供了31种不同的路由过滤器工厂

默认过滤器

如果要对所有的路由都生效,则可以将过滤器工厂写到default下。格式如下:

2.5全局过滤器GlobalFilter

全局过滤器的作用也是处理一切进入网关的请求和微服务响应,与GatewayFilter的作用一样。

区别于GatewayFilter通过配置定义,处理逻辑是固定的。而GlobalFilter的逻辑需要自己写代码实现。

定义方式实现GlobalFilter接口。

总结

过滤器执行顺序

请求进入网关会碰到三类过滤器:当前路由过滤器,DefaultFilter,GlobalFilter

请求路由后,会将当前路由过滤器和DefaultFilter,globalFilter,合并到一个过滤器链(集合)中,排序后依次执行每个过滤器

2.6跨域配置

跨域:域名不一致就是跨域,主要包括:

网关处理跨域采用的同样是CORS方案,并且只需要简单配置即可实现:

http://www.dtcms.com/wzjs/86984.html

相关文章:

  • 四川广汉市规划和建设局网站南昌seo外包公司
  • 做标签的网站互联网营销课程体系
  • 杭州市临安区建设局网站seo关键词排名优化销售
  • 网站维护需要做那些事新闻今天的最新新闻
  • 公司网站建设好长沙seo报价
  • 制作一个网站需要哪些人武汉服装seo整站优化方案
  • 做海岛旅游预定网站的关键词优化公司网站
  • 怎样免费建个人网站留号码的广告网站
  • 杭州做网站的科技公司949公社招聘信息
  • 军用棉被门网站建设品牌全案营销策划
  • 怎么用手机做网站编辑刷关键词排名系统
  • 旅游营销网站开发seo上海网站推广
  • 南宁seo做法哪家好seo网站运营
  • 提升网站访问速度如何在其他平台做推广
  • 电子商务网站备案有哪些搜索引擎
  • 公司网站建设推荐营销咨询公司
  • 移动网站构建百度竞价app
  • 网页制作网站花店渠道推广平台
  • 建设企业网站公司在哪里重庆seo职位
  • 株洲建设公司网站招商外包
  • 石家庄网站建设培训班线上宣传有哪些好的方式方法
  • 做网站教程免费推广app的营销方案
  • 影视网站模板西安百度快速排名提升
  • 机关作风建设网站企业微信管理系统
  • 基于web的旅游网站设计大数据平台
  • ui设计网站成品图片谷歌账号
  • 网站首页倒计时功能怎么做宁波免费seo排名优化
  • 专业做网站优化需要多久市场营销策划方案书
  • 寻找做日文网站网站的排名优化怎么做
  • 成都网站建设网正规推广平台