bridge

Kubernetes IPVS模式下服务间长连接通讯的优化

柔情痞子 提交于 2020-07-28 13:29:18
转载自: https://blog.frognew.com/2018/12/kubernetes-ipvs-long-connection-optimize.html Kubernetes IPVS模式下服务间长连接通讯的优化,解决Connection reset by peer问题 前段时间测试将一套Kubernetes环境的 kube-proxy 切换成了ipvs模式,参见 Kubernetes kube-proxy开启IPVS模式 。 这套Kubernetes集群上主要运行http restful和gRPC两类服务,切换后这段时间还算稳定,只是最近某些客户端服务在调用gRPC服务时小概率出现 Connection reset by peer 的错误。 经过本地环境测试,当发一起一波请求到客户端服务预热一下,然后停止大约不到二十分钟时间,再请求客户端服务,客户端服务就会返回 Connection reset by peer 的错误,这说明是gRPC服务端将连接主动关闭了。 接下来再发起一波请求到客户端服务,一切又微服务正常。 在切换成ipvs模式后,客户端服务和gRPC服务之间的通信是基于ipvs的: 把上图中client看成是客户端服务Pod,3个Backend Pod(1~3)看成是后端的gRPC服务。 可以看出客户端服务和gRPC服务之间的交互路径: 1 2 3 4

2019-ICCV-Progressive Differentiable Architecture Search Bridging the Depth Gap Between Search an...

旧城冷巷雨未停 提交于 2020-07-28 11:24:31
P-DARTS 2019-ICCV-Progressive Differentiable Architecture Search Bridging the Depth Gap Between Search and Evaluation Tongji University && Huawei GitHub: 200+ stars Citation:49 Motivation Question: DARTS has to search the architecture in a shallow network while evaluate in a deeper one . DARTS在浅层网络上搜索,在深层网络上评估(cifar search in 8-depth, eval in 20-depth)。 This brings an issue named the depth gap (see Figure 1(a)), which means that the search stage finds some operations that work well in a shallow architecture , but the evaluation stage actually prefers other operations that fit a deep

Linux bridge模块的一次重构(让bridge归bridge让eth0归eth0)

谁说我不能喝 提交于 2020-07-28 09:16:03
勾起了回忆,就想记录点什么。 再看刘经理的需求: 被bonding的eth0可以独立工作,eth0作为类似带内管理接口。 当然,现在看来,用macvlan实现这个非常容易: ip link add link eth0 man0 type macvlan brctl addbr br0 brctl addif br0 man0 brctl addif br0 eth1 ifconfig br0 1.1.1.1/8 up ifconfig man0 4.4.4.4/8 up OK,现在经理可以通过eth0来作为管理口访问管理地址4.4.4.4了,而eth0同时也和eth1一起作为br0的port存在。 但是如果不配置macvlan则何如? 我当年被告知不能变更 错误的配置脚本 ,因此我必须去适配类似下面的逻辑: brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 ifconfig br0 1.1.1.1/8 up ifconfig eth0 4.4.4.4/8 up 很明显,这个配置是错误的,eth0已经被br0给覆盖掉了,它作为br0的port不再对外可见,而且我也不能通过udev修改网卡的名字,总之就是系统的配置, 我不能动! 于是,我构建了超级复杂且不灵活的脚本化方案: 用arptables修改arp请求和回复。

使用Simulink进行无刷直流电机控制仿真

风格不统一 提交于 2020-07-27 23:06:52
这段时间刚开始接触Matlab中的Simulink仿真,我就结合自己的专业,利用Simulink进行了无刷直流电机的仿真,因为Simulink工具箱里面有很多可用的模块,所以建模过程变得非常简单。 在Matlab界面中new->model之后,找到Simulink Library Browser,这里面有系统自带的很多模块,接下来我们就需要找到自己所需要的模块了,了解无刷直流电机的工作原理以后,接下来就是找到直流电源、三相逆变桥、无刷直流电机模型。而Simulink中也有这些模型,可以直接通过搜索关键字找到它们,分别是DC Voltage Source、Universal Bridge、Permanent Magnetic Synchronous Machine。接下来就是需要将相应的信号连接起来,如下图 其中,直流端电压可以设置电压大小,逆变桥可以选择开关器件类型,我们这里选择Mosfet,PMSM中我们将反电势波形选择trapezoidal即梯形波,电机参数相电阻、相电感、反电势常数、极对数按实际值设置。Universal Bridge对应如下桥式拓扑结构。 然后就是添加相应的负载Tm,这里可以模拟突加负载和突减负载以及任意变化的负载,通过给定一个函数就可以。然后就是开关信号g,下面会详细介绍。模型搭建完成后如下图。 PMSM输出端给的信号通过Bus Selector选择

容器技术之LXC

你离开我真会死。 提交于 2020-07-27 23:02:50
  什么是容器?在生活中我们常见的容器有各种瓶瓶罐罐、各种能够容纳其它物料的东西叫容器;容器的特点就是有着很好的隔离作用,使得不同的物料互相隔离;除此之外容器还方便运输、方便储存;这是生活中所说的容器,以及它的特点;在计算机领域中,所谓容器不外乎也有同生活中的容器的特点,隔离,方便“运输”(计算机中的运输我们叫移植,从系统A到系统B),方便“存储”(这里指程序以及运行所依赖的库文件打包,即程序及运行时环境打包);LXC是Linux containers的缩写,意思就是Linux 容器;Linux容器技术其实就是整合内核的功能,让其支持多个容器运行时资源相互隔离;我们知道内核的功能用户是无法直接操作的,必须得有一用户空间的软件,通过系统调用去操作内核功能;所以lxc就是用来操作Linux内核容器化的工具;这种逻辑有点类似iptables,iptables本身不对用户的报文做任何检查,真正生效的是内核netfilter;   LXC关键技术点:   1、chroot:根切换,一个改变当前运行进程以及其子进程的根目录的操作。一个运行在这种环境的程序无法访问根目录外的文件和命令。   2、namespaces:名称空间,LXC在隔离控制方面依赖于Linux内核的namespace特性,具体而言就是在clone时加入相应的flag;   3、CGroups:控制组

STP生成树选举

谁说胖子不能爱 提交于 2020-07-24 13:42:13
STP生成树选举 生成树选举步骤: 1.选择根网桥 网桥ID最小 网桥ID=网桥优先级+网桥MAC地址 网桥优先级: 0-65535 默认值: 32768 步长: 4096 2.选择根端口(非根网桥) -此端口到达根网桥的路径成本最低 -此端口直连的网桥ID最小 -端口标识最小 端口标识=端口优先级+端口编号 端口优先级: 0-240 默认值: 128 步长: 16 3.选择指定端口(每根网线) 根网桥.上的所有端口都是指定端口 -此端口所在交换机到达根网桥路径成本最低 -此端口所在交换机的网桥ID最小 -端口标识最小 根端口、指定端口:比路径成本,网桥ID 生成树选举步骤:比小 1.选择根网桥 网桥ID=网桥优先级+网桥MAC地址 2.选择根端口(非根网桥) -此端口到达根网桥的路径成本最低-此端口直连的网桥ID最小 -端口标识最小 端口标识=端口优先级+端口号 3.选择指定端口(每根网线) 根网桥上的所有端口都是指定端口 -此端口所在交换机到达根网桥成本最低 -此端口所在交换机网桥ID最小 -端口标识最小 RB根网桥 RP根端口 DP指定端口 BP阻塞端口 [sw1]display bridge mac-address //查询交换机mac地址表 [sw4]display stp brief //查询stp生成树表 来源: oschina 链接: https://my

Bridge tables - DAX or M?

送分小仙女□ 提交于 2020-05-15 06:37:05
问题 Should we construct bridge tables with DAX or M? Picture stolen from here It seems very tempting to use DAX. With DAX the code is short and clear: IDList = DISTINCT( UNION( DISTINCT(Table1[ID]) ,DISTINCT(Table2[ID]) )) Moreover, DAX tables do not need to be loaded as M tables. However I wonder if advantage of DAX over M is not illusory? M seems to load once and DAX seems to be calculated on the fly, maybe anytime, over and over? 回答1: DAX calculated tables are re-calculated if any of the

Docker网络双向连接

♀尐吖头ヾ 提交于 2020-05-08 14:06:41
在本篇文章里小编给大家分享的是一篇关于docker网络双向连接知识点详解内容,有兴趣朋友们可以参考学习下。 查看docker网络 docker network ls [root@master ~]# docker network ls NETWORK ID NAME DRIVER SCOPE e9ecd3b9be87 bridge bridge local 45336895a3a4 host host local 6a44e8330adb none null local 创建网桥 docker network create bridge my-bridge [root@master ~]# docker network create -d bridge my-bridge 0ae59991f86c3276acfc5a78dd316f47c124f093e60ce719046f1045ccccb1bd [root@master ~]# docker network ls NETWORK ID NAME DRIVER SCOPE e9ecd3b9be87 bridge bridge local 45336895a3a4 host host local 0ae59991f86c my-bridge bridge local 6a44e8330adb none null local

Docker笔记(三):Docker安装与配置

给你一囗甜甜゛ 提交于 2020-05-08 07:21:06
原文地址: http://blog.jboost.cn/docker-3.html Docker分为Docker CE社区免费版与Docker EE企业收费版。Docker EE主要是在安全性及镜像、容器高级管理方面提供了一些额外的支持。对于中小型企业、团队或个人来说,用Docker CE即可。 1. 安装Docker CE Docker CE有三个更新渠道: Stable:提供最新的GA(General Availability)稳定版,每六个月一版,如 18.09 表示18年9月版,下一版就是19.03——19年3月版 Test:提供GA之前的Pre-release版 Nightly:提供最新的build版本,每天一版 我们一般使用stable版。Docker CE支持在多种操作系统下安装,本文只介绍比较常见的Ubuntu 18.04 LTS、CentOS7、及Windows 10上的安装与配置。 1.1 Ubuntu 18.04 LTS 上安装 Docker CE支持的64位Ubuntu系统版本为 Cosmic 18.10 Bionic 18.04 (LTS) Xenial 16.04 (LTS) Docker CE在Ubuntu上支持 overlay2, aufs, 以及 btrfs 几种存储驱动程序,对于Linux内核版本为4或以上系统的安装,Docker CE默认使用

GoF的23种设计模式之结构型模式的特点和分类

醉酒当歌 提交于 2020-05-08 00:49:25
结构型模式描述如何将类或对象按某种布局组成更大的结构。 它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低,满足 “合成复用原则” ,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: 代理(Proxy)模式:为某对象提供一种代理以控制对该对象的访问。即客户端通过代理间接地访问该对象,从而限制、增强或修改该对象的一些特性。 适配器(Adapter)模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 桥接(Bridge)模式:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现的,从而降低了抽象和实现这两个可变维度的耦合度。 装饰(Decorator)模式:动态地给对象增加一些职责,即增加其额外的功能。 外观(Facade)模式:为多个复杂的子系统提供一个一致的接口,使这些子系统更加容易被访问。 享元(Flyweight)模式:运用共享技术来有效地支持大量细粒度对象的复用。 组合(Composite)模式:将对象组合成树状层次结构,使用户对单个对象和组合对象具有一致的访问性。 以上 7 种结构型模式,除了 适配器模式 分为 类结构型模式 和 对象结构型模式 两种,其他的全部属于对象结构型模式