路由

Zuul之饥饿加载模式

杀马特。学长 韩版系。学妹 提交于 2020-01-19 09:13:53
前面我们介绍了如何使用Ribbon的 earger-load 配置加速Spring Cloud中对服务接口的第一次调用。可是这样只是解决了内部服务间的调用,另外一个问题依然经常困扰我们,那就是网关到内部服务的访问。由于Spring Cloud Zuul的路由转发也是通过Ribbon实现负载均衡的,所以它也会存在第一次调时比较慢的情况。那么这个时候我们要如何设置呢? Zuul中的Eager Load配置 在Spring Cloud Zuul中也提供了一个配置参数来实现earger-load,具体如下: zuul.ribbon.eager-load.enabled=true 但是,可能你尝试一下之后会发现,并没有起效?为什么呢?这是由于Spring Cloud Zuul中实现eager-load的时候同Ribbon中一样,都需要指定具体哪些服务需要饥饿加载。那么在Spring Cloud Zuul中如何具体指定呢? 在Spring Cloud Zuul的饥饿加载中没有设计专门的参数来配置,而是直接采用了读取路由配置来进行饥饿加载的做法。所以,如果我们使用默认路由,而没有通过配置的方式指定具体路由规则,那么 zuul.ribbon.eager-load.enabled=true 的配置就没有什么作用了。 因此,在真正使用的时候,我们可以通过 zuul.ignored-services=*

Django中的应用 - app

左心房为你撑大大i 提交于 2020-01-19 04:02:02
Django中的应用 - app 应用在Django项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型 创建应用app 创建步骤 用manage.py 中的子命令 startapp 创建应用文件夹---------------创建 在settings.py 的 INSTALLED_APPS 列表中配置安装此应用------注册 先在终端里创建应用,再注册应用,反之则报错 创建应用后一定要记得注册应用 创建应用的子命令 python3 manage.py startapp 应用名称(必须是标识符命令规则) 如: python3 manage.py startapp music Django应用的结构组成 migrations 文件夹 保存数据迁移的中间文件 __init__.py 应用子包的初始化文件 admin.py 应用的后台管理配置文件 apps.py 应用的属性配置文件 models.py 与数据库相关的模型映射类文件 tests.py 应用的单元测试文件 views.py 定义视图处理函数的文件 配置、安装应用 在 settings.py 中配置应用, 让此应用能和整个项目融为一体 # file : settings.py INSTALLED_APPS = [ . . . . . . , '自定义应用名称' ] 如: INSTALLED_APPS = [ #

[原理] 说说Web请求的过程

家住魔仙堡 提交于 2020-01-19 01:41:39
在面试过程中,我们可能都遇到过这个问题,如果我们不是很理解整个过程,可能觉得就是客户端发送请求,服务端处理请求这个简单的过程。但是在工作中,我发现对这个问题理解的深度能让你更快且精确的定位到的问题的所在,最起码能知道是不是我们服务端的问题,接下来小生姑且根据目前自己的理解和参考资料对过程进行梳理。 文章目录 DNS解析域名 发起连接 三次握手 发送HTTP请求 路由转发和路由选择 Nginx反向代理 服务器处理请求 解析Http请求 跨域请求检测和处理 选择处理方法并响应 DNS解析域名 我们都知道Http/Https是基于TCP的应用层协议,他们其实对主机是不敏感的,但是其底层的TCP对主机是敏感的:TCP需要一个ip地址来唯一标识一个目的主机。我们在浏览器浏览时,通常都是输入www.xxx.com域名,我们需要的ip从何而来呢?这就要归功于DNS域名解析了。 DNS解析域名的原理其实就是建立了 <域名, ip> 的一个映射关系,这个映射关系可能保存在DNS服务器中,也可能在本地Hosts文件中。当你在浏览器输入www.baidu.com,主机会先对本地Hosts文件进行查询,如果存在映射,则直接使用Hosts文件中映射的ip地址;否则请求DNS服务器。一般后端都是使用nginx反向代理转发请求到集群,所以一般我们域名都是直接绑定nginx服务器,然后通过nginx管理集群列表。

ARP协议/ARP攻击与防御

戏子无情 提交于 2020-01-19 00:19:30
ARP协议 目录 ARP协议 1、ARP协议概述 2、ARP协议作用: 3、ARP协议原理: 1)发送ARP广播请求 2)接受ARP单播应答 4、ARP的工作过程 5、ARP代理 ​ 6、ARP攻击或欺骗的原理是: 1)、ARP协议没有验证机制,所以容易被arp偷渡攻击 2)、ARP攻击者通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒 7、ARP攻击防御: 1、静态ARP绑定 2、ARP防火墙 3、硬件级ARP防御: 1、ARP协议概述 “Address Resolution Protocol”(地址解析协议) 当网络设备要发送数据给另一台设备时,必须要知道对方的网络层地址(即IP地址)。IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送。数据帧必须包含目的MAC地址,因此发送端还必须获取到目的MAC地址。通过目的IP地址而获取目的MAC地址的过程是由ARP协议来实现的。 ARP协议是TCP/IP协议簇中的重要组成部分,ARP能够通过目的IP地址发现目标设备的MAC地址,从而实现数据链路层的可达性 2、ARP协议作用: 将IP解析为MAC地址 3、ARP协议原理: 1)发送ARP广播请求 ARP报文内容:我是10.1.1.1 我的MAC:AA-AA-AA-AA 谁是10.1.1.3 你的MAC:? 2)接受ARP单播应答 4

angular 路由

淺唱寂寞╮ 提交于 2020-01-18 19:27:07
路由:根据不同的URL地址,动态的让根组件加载其他组件来实现单一页面的应用。 1.创建一个带有路由的项目; 2.在 app-routing.module.ts 里面添加需要配置的路由; 1️⃣导入需要使用路由动态加载的组件; 2️⃣在 const routes:Routes =[] 配置路由; const routes: Routes = [ {path:路径,component:组件名称}, ... ]; 3️⃣配置默认路由或组件 {path:'**',redirectTo:组件路径} 例如: 3.在app.component.html,配置router-outlet显示动态加载的路由. 在html中输入 ng-router-linkActive 选择它就会弹出默认的写法: //routerLinkActive 是固定写法;active 是类名,可以写任意名称 <a [routerLink]="[ '/path' ]" routerLinkActive="active">name</a> 来源: https://www.cnblogs.com/pan5008/p/11457385.html

nodejs+express路由模块化

冷暖自知 提交于 2020-01-18 19:17:27
之前我们的代码都是写在了app.js中,不利于阅读维护,多人开发时肯定问题繁多,所以我们需要将路由模块化。 如果我们的功能主要有登录,商品管理,那么主要的模块就是登录和商品 所以在路由目录就有登录和商品两部分的路由 login.js const express = require ( "express" ) ; const router = express . Router ( ) ; router . get ( "/" , function ( req , res ) { res . send ( "登录页面" ) } ) ; router . get ( "/doLogin" , function ( req , res ) { } ) ; module . exports = router ; product.js const express = require ( "express" ) ; const router = express . Router ( ) ; router . get ( "/" , function ( req , res ) { res . send ( "商品首页" ) } ) ; router . get ( "/add" , function ( req , res ) { res . send ( "商品首页" ) } ) ;

如何在有线路由器下接无线路由

喜欢而已 提交于 2020-01-18 19:02:06
如何在有线路由器下接无线路由 有线路由器下接无线路由器通常有两种接法,但前提是有线路由下的电脑能正常上网,那么我们只需设置无线路由器的参数就 OK 了。下面以 TP-LINK TL- WR340G 为例,其它无线路由大同小异。 第一种、有线路由器任意 LAN 口或交换机接无线路由 WAN 口,在这种方法下,无线路由器下连接的电脑将由无线路由的 DCHP 分配 IP 。 1 、 LAN 口设置 进入无线路由,设置 LAN 口参数, 假如我们有线路由器 IP 是 192.168.1.2 (ADSL 猫占用 192.168.1.1) 那么无线路由器的 LAN 口 IP 一定不能设成跟有线路由器同一网段,可以设成 192.168.2.1 如图 1 : 图 1 2 、 WAN 口设置 如果我们选择动态 IP ,而且有线路由器开启了 DHCP ,通常 WAN 口就能自动从有线路由器 DHCP 获取 IP ,因此什么都不用设置了,如图 1 。 但是如果无线路由器无法从有线路由器分配到 WAN 地址,我们就要做以下设置。 ( 本人试过静态和动态,都可以正常上网 ) 在这里我们选择静态 IP ,并且要设置必要的参数。如下图 2 ,这里设的 IP 要跟有线路由下能正常上网的机器一致,可看作是有线路由器下连接的一台电脑那样设置,当然,这个 IP 还不能被有线路由下的其它电脑占用了。 WAN

17Angular实现路由跳转的参数的传递

喜夏-厌秋 提交于 2020-01-18 18:22:27
假设需求:   input/button点击时候,能够把 input 输入的数据发送给 demo13   ①发送方:demo12 接收方:demo13   ②配置接收方的路由地址     { path : 'demo13' } --> { path : 'demo13/: userName‘ }   ③发送参数   ④接收参数     RXJS 遵循微软推出的一个进行异步请求处理 RX 规范JS的实现     异步请求:ajax / callback / promise /rxjs     步骤一:引入 ActivatedRoute import { ActivatedRoute } from 'angualr/router'     步骤二:实例化 constructor ( private getparam : ActivatedRoute ) { }     步骤三:接收参数 subscribe   this.getparam.params.subscribe(                     ( result : any )=>{ result.userName }                    ) 补充: ① tsc TypeScriptCompiler 编译器 将ts语法转换为多数浏览器能支持的普通的JS ②{{ showparam }} 双花括号

实用的滚动

好久不见. 提交于 2020-01-18 18:20:04
滚动行为 ==用户良好的交互体验== 功能 使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动。 注意事项 这个功能只在 HTML5 history 模式下可用。 具体方法实例 const router = new VueRouter({ routes: [...], scrollBehavior (to, from, savedPosition) { // return 期望滚动到哪个的位置 } }) to要去的路由 from 离开的路由对象 savedPosition 当且仅当 popstate 导航 (通过浏览器的 前进/后退 按钮触发) 时才可用。 滚动行为传递的值 即return后面的 值的类型 { x: number, y: number } { selector: string } string 为to.hash值带#的 附上小案例 https://hxj886600.github.io/v... 来源: https://www.cnblogs.com/jlfw/p/12209625.html

16,Angular实现路由跳转的方式

橙三吉。 提交于 2020-01-18 15:07:04
①直接修改地址栏   localhost:4200/demo11   localhost:4200/demo12 ②JS的方式   步骤一:import { Router } from '@angular/router'   步骤二:实例化  constructor ( private myRouter:Router) { }   步骤三:使用myRouter来实现导航 this.myRouter.navigateByUrl ( 'demo12') ;       ③超链接  <a routerLink="demo12"></a>       ④返回上一页   步骤一:引入  import { Location } from '@angular/common'   步骤二:实例化 constructor (private myLocation:Location) { }   步骤三 :调用方法,返回上一页的功能 this.myLocation .back();       ⑤路由规则总结   当path为空,指定当前app默认加载第一个组件   当path为**,指定当前app在没有成功的匹配到任何一个路由地址时,要访问的组件(404/index) 来源: https://www.cnblogs.com/shanlu0000/p/12209001.html