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

插画网站做网站软件流程

插画网站,做网站软件流程,邯郸信息港邯郸信息网,网站建设w亿玛酷1负责一、路由网关 官网地址#xff1a;https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/ 我们需要连接互联网#xff0c;那么就需要将手机或是电脑连接到家里的路由器才可以#xff0c;而路由器则连接光猫#xff0c;光猫再通过光纤连接到互联网https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/ 我们需要连接互联网那么就需要将手机或是电脑连接到家里的路由器才可以而路由器则连接光猫光猫再通过光纤连接到互联网也就是说互联网方向发送过来的数据需要经过路由器才能到达我们的设备。而路由器充当的就是数据包中转站所有的局域网设备都无法直接与互联网连接而是需要经过路由器进行中转我们一般说路由器下的网络是内网而互联网那一端是外网。 我们的局域网设备无法被互联网上的其他设备直接访问肯定是能够保证到安全性的。并互联网发送过来的数据需要经过路由器进行解析识别到底是哪一个设备的数据包然后再发送给对应的设备。 而我们的微服务也是这样一般情况下可能并不是所有的微服务都需要直接暴露给外部调用这时我们就可以使用路由机制添加一层防护让所有的请求全部通过路由来转发到各个微服务并且转发给多个相同微服务实例也可以实现负载均衡。 路由的实现一般使用Zuul但是已经停更而现在新出现了由SpringCloud官方开发的Gateway路由它相比Zuul不仅性能上得到了一定的提升并且是官方推出契合性也会更好 1.部署网关 现在我们来创建一个新的项目作为我们的网关这里需要添加两个依赖 dependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency /dependencies第一个依赖就是网关的依赖而第二个则跟其他微服务一样需要注册到Eureka才能生效注意别添加Web依赖使用的是WebFlux框架。 然后我们来完善一下配置文件 server:port: 8500 eureka:client:service-url:defaultZone: http://localhost:8801/eureka, http://localhost:8802/eureka spring:application:name: gateway接着将路由功能进行配置 spring:cloud:gateway:# 配置路由注意这里是个列表每一项都包含了很多信息routes:- id: borrow-service # 路由名称uri: lb://borrowservice # 路由的地址lb表示使用负载均衡到微服务也可以使用http正常转发predicates: # 路由规则断言什么请求会被路由- Path/borrow/** # 只要是访问的这个路径一律都被路由到上面指定的服务路由规则的详细列表断言工厂列表在这里https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-request-predicates-factories可以指定多种类型包括指定时间段、Cookie携带情况、Header携带情况、访问的域名地址、访问的方法、路径、参数、访问者IP等。也可以使用配置类进行配置但是还是推荐直接配置文件省事。 接着启动网关可以看到我们现在可以直接通过路由来访问我们的服务了 注意此时依然可以通过原有的服务地址进行访问 这样我们就可以将不需要外网直接访问的微服务全部放到内网环境下而只依靠网关来对外进行交涉。 2.路由过滤器 路由过滤器支持以某种方式修改传入的 HTTP 请求或传出的 HTTP 响应路由过滤器的范围是某一个路由跟之前的断言一样Spring Cloud Gateway 也包含许多内置的路由过滤器工厂详细列表https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gatewayfilter-factories 比如我们现在希望在请求到达时在请求头中添加一些信息再转发给我们的服务那么这个时候就可以使用路由过滤器来完成我们只需要对配置文件进行修改   spring:application:name: gatewaycloud:gateway:routes:- id: borrow-serviceuri: lb://borrowservicepredicates:- Path/borrow/**# 继续添加新的路由配置这里就以书籍管理服务为例# 注意-要对齐routes:- id: book-serviceuri: lb://bookservicepredicates:- Path/book/**filters: # 添加过滤器- AddRequestHeaderTest, HelloWorld!# AddRequestHeader 就是添加请求头信息其他工厂请查阅官网 接着我们在BookController中获取并输出一下看看是不是成功添加了 RestController RequestMapping(/book) public class BookController {Resourceprivate BookService bookService;GetMapping(/getBookById/{bid})public Book getBookById(PathVariable(bid) Integer bid,HttpServletRequest request){System.out.println(request.getHeader(Test));return bookService.getBookById(bid);} } 现在我们通过Gateway访问我们的图书管理服务 可以看到这里成功获取到由网关添加的请求头信息了。 除了针对于某一个路由配置过滤器之外我们也可以自定义全局过滤器它能够作用于全局。但是我们需要通过代码的方式进行编写比如我们要实现拦截没有携带指定请求参数的请求 Component //需要注册为Bean public class TestFilter implements GlobalFilter {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) { //只需要实现此方法return null;} }接着我们编写判断 Override public MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {//先获取ServerHttpRequest对象注意不是HttpServletRequestServerHttpRequest request exchange.getRequest();//打印一下所有的请求参数System.out.println(request.getQueryParams());//判断是否包含test参数且参数值为1ListString value request.getQueryParams().get(test);if(value ! null value.contains(1)) {//将ServerWebExchange向过滤链的下一级传递跟JavaWeb中介绍的过滤器其实是差不多的return chain.filter(exchange);}else {//直接在这里不再向下传递然后返回响应return exchange.getResponse().setComplete();} }可以看到结果 成功实现规则判断和拦截操作。 当然过滤器肯定是可以存在很多个的所以我们可以手动指定过滤器之间的顺序 Component public class TestFilter implements GlobalFilter, Ordered { //实现Ordered接口Overridepublic int getOrder() {return 0;}注意Order的值越小优先级越高并且无论是在配置文件中编写的单个路由过滤器还是全局路由过滤器都会受到Order值影响单个路由的过滤器Order值按从上往下的顺序从1开始递增最终是按照Order值决定哪个过滤器优先执行当Order值一样时 全局路由过滤器执行 优于 单独的路由过滤器执行。
http://www.zqtcl.cn/news/269450/

相关文章:

  • 合格的网站设计师需要会什么软件seo 深圳
  • 公司网站建设费用账务处理软文300字案例
  • 门户型网站特点网站营销推广的公司
  • wordpress gif主题seo兼职怎么收费
  • 商城免费建站系统手机端首页尺寸多少
  • 网站上存储播放视频怎么做wordpress 作品集 相册
  • 建设网工程信息南昌官网seo厂家
  • 上海网站seo牛巨微网页设计模板html代码个人介绍
  • 网站 架构 设计公司网站建设费怎么做账
  • 合肥电脑网站建站萍乡手机网站建设
  • 优化seo网站西安wordpress 做购物网站
  • 广州建设档案馆网站稿定设计app免费版官方
  • 橙色企业网站源码建设工程投标文件在哪个网站有发布
  • 服务器可以做网站吗深圳高端网站建设创新
  • 企业平台网站建设方案大连网络广告
  • 如何给网站做宣传新手怎么建立自己网站
  • 酒店和网站对接如何做开发网站那个好
  • 北京建设信源咨询有限公司网站快对小程序入口
  • 湖北人工智能建站系统软件城乡建设官网
  • 广东模板建站平台设计网站
  • 晋江市住房和城乡建设网站二进制可以做网站是吗
  • 企业网站优化的方式网站开发 -(广告)
  • 素材解析网站搭建wordpress 提问
  • 域名解析网站安卓android系统下载
  • 相亲网站做推广的照片是谁广告优化师前景
  • 营销导向的网站建设的主要流程陕煤建设集团网站
  • 电商网站销售数据分析网页美工设计实训报告
  • 百度新网站收录wordpress免刷新插件
  • 如何做好网站外链c#+开发网站开发
  • 展示型网站报价网站目录创建下载链接