cef

多出口BGP网络流量割接案例

北战南征 提交于 2020-10-04 04:31:00
BGP路由的收敛速度是大家有目共睹的事实,但也不能怪它,毕竟算法流程复杂。 今天我要跟大家分享的是依靠IGP的快速收敛来弥补BGP路由收敛时间的问题,同时又保障在流量路径切换时达到零丢包, 很多前辈可能形象的将这一解决方案称为BGP的虚拟下一跳技术。 如图所示,网络中的IGP及BGP已经预先配置完毕。此时 10.1.1.1 与 1.2.3.4 之间的IP连通性已经部署完毕。 R6#ping 1.2.3.4 source 10.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.2.3.4, timeout is 2 seconds: Packet sent with a source address of 10.1.1.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms OK,验证了连通性之后,我们来部署BGP的虚拟下一跳方案。 步骤一: 在AS 200 的ASBR上添加独立环回口通告进IGP,并在R6上验证效果; R4#enable R4#configure terminal R4(config)#interface loopback 1 R4(config-if)#ip address

还在羡慕别人高薪?这样读源码,想不升薪都难!

人盡茶涼 提交于 2020-10-02 20:42:49
程序员在工作过程中,会遇到很多需要阅读源码的场景,比如技术预研、选择技术框架、接手以前的项目、review他人的代码、维护老产品等等。可以说,阅读源代码是程序员的基本功,这项基本功是否扎实,会在很大程度上影响一个程序员在技术上的成长速度。 2014年的时候《Qt on Android核心编程》和《Qt Quick核心编程》时作者在编写时,很多内容都是通过分析Qt源码搞明白的。这阵子研究CEF和PPAPI,也主要靠研究源代码来搞明白用法。最近工作上要修改已有项目的一个子系统,也是得硬着头皮先读懂代码。 总之在开发工作这十来年中,读过太多源码了,从源代码中学习到太多东西了,如果不阅读源代码,真不知道自己能否成长起来。 写代码是从模仿开始的,提高也是从观摩别人的优秀设计和代码开始的。所以阅读源码至关重要,接下来咱从下列方面聊聊阅读源码的事儿。 目的 工具 知识准备 运行与开发环境 笔记 实用技巧 心理调试(散步在各个环节) 目的 当我们阅读面前的源码时,无非有以下几种目的: 纯粹学习 添加新功能 重构旧代码 修复他人的Bug 不同的目的会有不同的心情,会影响到工作的进展,像修复他人的Bug这种事情,类似于没被掰弯的男猿捏着鼻子给另外一个男人擦屁股,是很恶心的,很容易让人拒绝的。所以因这种目标而阅读源码,往往是欲拒还迎、欲说还休,效率较低。然而修复实际工作中帮别人修复Bug这种情形

客户端-CEF交互应用实例:客户端向网页传递信息、 网页向客户端传递网页元素信息

微笑、不失礼 提交于 2020-10-02 07:41:58
前面的交互,着重点在于原理,过于繁琐,本文在于应用。 一 客户端加载网页时,给网页传递信息 很常见的场景,客户端嵌套CEF, 当客户端打开CEF网页时, 要将客户端用户信息,直播间基本信息发送给网页, 网页收到后,处理这些信息。 方法就是,监听CEF Load事件,在LoadEnd时,马上调用JS函数,给CEF传递信息 1)向CEF网页传递 客户端信息 cef_control_->AttachLoadEnd([this](int code){ Json::Value values; values["enterInfo"] =g_enterClassJsonJinfo ; //调用JS, 传递json数据 cef_control_->CallJSFunction(L"CefJsFunc_EnterInfo", nbase::UTF8ToUTF16(values.toStyledString()), ToWeakCallback([this](const std::string& json_result) { //JS retrun 的 json 信息 Json::Value values; Json::Reader reader; if (reader.parse(json_result, values)) { std::wstring message = nbase:

厉害了!知道这样重命名文件都是大佬级别!

北城以北 提交于 2020-08-20 00:46:02
大家好,我是良许。 在 Linux 下,重命名一个文件,我们通常是使用 mv 命令,一般是这样操作的: $ mv file1.txt file2.txt 这样重命令的方式当然是可以,但有个弊端就是你需要输入两次文件名。文件名比较短还好,一旦比较长的话,输两次会很让人崩溃的。 本文就介绍几种更高效的文件重命令方法,一般人不知道哦,知道的都是大神级别。 高效重命名文件的方法 首先,我们需要使用 vim 编辑 ~/.bashrc 文件。 $ vim ~/.bashrc 将下面这段代码添加到 ~/.bashrc 文件末尾: # Bash Function To Rename Files Without Typing Full Name Twice function mv() { if [ "$#" -ne 1 ] || [ ! -e "$1" ]; then command mv "$@" return fi read -ei "$1" newfilename command mv -v -- "$1" "$newfilename" } 然后,再按 wq 保存并退出。再接下来,使用 source 命令让这个修改生效。 $ source ~/.bashrc 接下来,就是见证奇迹的时刻! 现在,我们要重命名 file1.txt 文件,我们只需这样操作即可: $ mv file1.txt 然后

如何简单快速的从PDF文件中获取喜爱的图片?

元气小坏坏 提交于 2020-08-19 20:42:11
在我们浏览网页、阅读文件时我们时常会遇到一些喜爱的图片,我们通常会将这些图片复制或收藏起来。但如果是在阅读PDF文件的过程的遇到喜爱的文件又该怎么办呢?PDF文件是出了名的难处理,难道只能放弃吗?今天小编就教大家一种能 快速、大量的从PDF文件中获取喜爱的图片 的方法。 首先,您需要到 福昕官网 或者到浏览器上搜索下载福昕 PDF转word ,这款PDF转换器体积小巧,功能强劲可进行多种格式的文件转换,满足大家日常 PDF文件 转换所需。 一、前往福昕官网或浏览器搜索下载安装 福昕PDF转word 完成后,双击福昕PDF转word的图标,打开软件,点击软件右上方的“未登录”登陆账号即可进行使用; 二、点击福昕PDF转word中的提取图片; 三、在弹出的页面中点击虚线框内的位置,选择需要提取图片的文件,点击打开 四、您可以直接点击“开始转换”将PDF文件中的所有图片都提取出来,也可以点击“转换页面范围”自定义需要提取图片的页数,点击“开始转换”; 转换后的图片会保存在一个与原文件名称相同的文件夹中,位置也与原文件相同。 以上就是 如何使用福昕PDF转word进行获取PDF文件中的图片 的全部内容,您学会看了吗?来下载福昕PDF转word软件试试吧! 更多PDF 实用教程 可登陆https://www.foxitsoftware.cn/company/product/。 扫描下方二维码

044. 使用 CDN 实现应用的缓存和加速

自闭症网瘾萝莉.ら 提交于 2020-08-19 20:30:04
1. CDN 简介 CDN 的全称是 Content Delivery Network,即内容分发网络。 CDN 是构建在网络之上的内容分发网络。 CDN 使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。 CDN 依靠部署在各地的边缘服务器,包括中心平台的负载均衡、内容分发、调度等功能模块。 分析 img.alibaba.com 域名 执行 dig 命令,输出如下 假如没有安装,执行一下命令安装: yum install bind-utils 2. CDN 主要特点 本地 Cache 加速:提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性。 镜像服务:消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。 远程加速:远程访问用户根据 CDN 负载均衡技术智能自动选择 Cache 服务器,选择最快的 Cache 服务器,加快远程访问的速度。 带宽优化:自动生成服务器的远程 Mirror(镜像)Cache 服务器,远程用户访问时从 Cache 服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点 WEB 服务器负载等功能。 集群抗攻击:广泛分布的 CDN 节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种 D.D.o.S 攻击对网站的影响

【少走弯路】 之 zookeeper安装异常记录汇总

大城市里の小女人 提交于 2020-08-19 12:58:06
玩个zookeeper把所有的坑全部踩了一遍 从Windows到Linux,从配置文件到脚本,从环境变量到日志 BUG之王当之无愧 但是不能白白浪费经历的坑,分享一下给大家填坑 ZooKeeper介绍   ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集, 提供Java和C的接口。 官网: https://zookeeper.apache.org 进入下载入口: 选择任意下载地址: 下载版本 踩坑 版本建议下载3.5以下的,较为稳定,如果你下载了最新版的,准备跟着我踩坑 下载后直接解压即可 进入到apache-zookeeper-3.5.6\conf文件夹,找到zoo_sample.cfg,复制一份到当前文件夹,重命名为zoo.cfg 为什么修改呢?在zkEnv.cmd中是默认叫zoo的 至于里面的配置信息,可以根据个人需求修改 附加 zoo.cfg参数说明 tickTime:这个时间是作为 Zookeeper

音频格式转换的方法?

我与影子孤独终老i 提交于 2020-08-16 06:59:38
语言转换文字已经成为了很多办公软件中常用的一种,大家在日常工作中,常常会遇到需要把语音转换成文字的方法,但是在转换之前有些音频是需要先转换然后再来转换成文字。那么操作简单又好用的语音转文字工具,值得大家一起来学习,跟着小编来看看吧! 推荐使用软件:录音转文字助手APP 1、我们点击打开手机安装好的录音转文字助手APP,打开后文件有两个强大的功能,一个是录音实时转写,另外一个是导入外部音频。但是我们今天要用到的功能在工具栏目中,所以我们点击下方的工具选项。 2、点击打开工具选项后,在我们眼前的就是多种音频工具选项,我们点击音频格式转换选项,打开后我们文件库中的音频格式都可以看得到。 3、这时候我们选择要转换的音频,比如说小编需要把WAV格式转换成MP3格式,我们点击文件库中的音频1文件后面的转换格式,跳转出来六种不同的格式选项,我们点击MP3格式。 4、在选中了自己要转换的格式后,点击下方的开始按钮,软件就开始进入到转换模式,一会儿转换成功的音频会出现在第一个文件库中,我们可以看到转换成功的音频已经是MP3格式了。 5、如果需要把转换成功的音频转换成文字,直接点击文件最后的编辑按钮,打开后下方有一个转换文字,点击转换就可以进入到转换页面,就可以把音频文件转成文字。 内容就到这里,大家如果常常要用到音频转换,这个款软件值得下载。 来源: oschina 链接: https://my

java 内部类和静态内部类的区别

大憨熊 提交于 2020-08-16 00:27:26
下面说一说内部类(Inner Class)和静态内部类(Static Nested Class)的区别: 定义在一个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、protected、private等访问限制,可以声明 为abstract的供其他内部类或外部类继承与扩展,或者声明为static、final的,也可以实现特定的接口。外部类按常规的类访问方式使用内部 类,唯一的差别是 外部类可以访问内部类的所有方法与属性,包括私有方法与属性 。 (1) 创建实例 OutClass.InnerClass obj = outClassInstance.new InnerClass(); //注意是外部类实例.new,内部类 AAA.StaticInner in = new AAA.StaticInner();//注意是外部类本身,静态内部类 (2) 内部类中的this 内 部类中的this与其他类一样是指的本身。创建内部类对象时,它会与创造它的外围对象有了某种联系,于是能访问外围类的所有成员,不需任何特殊条件,可理 解为内部类链接到外部类。 用外部类创建内部类对象时,此内部类对象会秘密的捕获一个指向外部类的引用,于是,可以通过这个引用来访问外围类的成员。 (3) 外部类访问内部类 内部类类似外部类的属性,因此访问内部类对象时总是需要一个创建好的外部类对象

论广播风暴的成因、预防及排障

江枫思渺然 提交于 2020-08-15 17:49:15
一、成因 广播风暴指过多的广播包消耗了大量的网络带宽,导致正常的数据包无法正常在网络中传送,通常指一个广播包引起了多个的响应,而每个响应又引起了多个得响应,就像滚雪球一样,把网络的所有带宽都消耗殆尽。该现象通常是由于网络环路、故障网卡、病毒等引起的。 二、预防(以CISCO catalyst switch为例) 1、首先使用网管分析你网络的baseline,这样可以明确你的网络当中正常情况下的广播包比例是多少。 2、目前绝大多数交换机都支持广播风暴抑制特性,配置了这个特性以后,你可以控制每个端口的广播包维持在特定的比例之下,这样可以保留带宽给必须的应用。 配置:(以CISCO catalyst switch为例) Int XX storm-control broadcast level 20.00 switch#sh storm Interface Filter State Level Current --------- ------------- ------- ------- Fa1/0/1 Forwarding 20.00% 0.00% 3、针对缺省STP配置无法排除的网络环路问题,利用STP的BPDUguard特性来预防广播风暴。此种环路情况示意图如下: switch------hub(portA---portB) Switch启用了STP