交换机

网卡配置bond(绑定)

旧街凉风 提交于 2019-11-28 22:50:27
网卡bond绑定,也称作网卡捆绑。就是将两个或者更多的物理网卡绑定成一个虚拟网卡。网卡是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在应用部署中是一种常用的技术。多网卡绑定实际上需要提供一个额外的软件的bond驱动程序实现。通过驱动程序可以将多块网卡屏蔽。对TCP/IP协议层只存在一个Bond网卡,在Bond程序中实现网络流量的负载均衡,即将一个网络请求重定位到不同的网卡上,来提高总体网络的可用性。 网卡绑定的目的: 1、提高网卡的吞吐量 2、增强网络的高可用,同时也能实现负载均衡 bond模式: (1)Mode=0(balance-rr)表示负载分担round-robin,平衡轮询策略,具有负载均衡和容错功能bond的网卡MAC为当前活动的网卡的MAC地址,需要交换机设备聚合模式,将多个网卡绑定为一条链路。 (2)Mode=1(active-backup)表示主备模式,具有容错功能,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢失的。 (3)Mode=2(blance-xor)表示XOR Hash 负载分担(异或平衡策略),具有负载均衡和容错功能,每个slave接口传输每个数据包和交换机的聚合强制下协商方式配合。(需要xmit_hash-policy)。 (4

[vxlan] 一 Why VXLAN

眉间皱痕 提交于 2019-11-28 22:42:28
想了解一个事物/概念,最好的办法是知道它是为什么出现的,为了解决那些问题而出现。这里,就用这种方式来学习一下VXLAN VXLAN (Virtual eXtensible Local Area Network)可以理解为扩展的VLAN。VXLAN很大程度上是为了解决VLAN的不足而出现的,所以,想了解VXLAN,你得有一定的VLAN基础。下面我们看一下VXLAN的出现是为了解决那些问题。 TOR MAC地址表问题 数据中心的每一个机柜(Rack)上通常会有一个交换机叫TOR交换机(top of rack)。这个交换机负责该rack下所有机器的二层交换。熟悉二层交换机制的话应该知道,交换机需要维护一个MAC address表来提高交换效率。在虚拟化技术出现之前,一个机柜下的机器再多也是有限的,这个MAC address table不会太大。但虚拟化技术出现后,一个宿主机上可能有多个VM,而一个机柜下又有很多个宿主机,这就会导致MAC address table的尺寸变得非常大,甚至超出了普通交换机能够支持的大小。 多租户问题 一个数据中心可能被多个租户使用。对于每个租户,他们都应该可以独立的为自己的机器分配mac地址,VLAN ID 等资源。我们需要一些机制来隔离这些租户,这样,不同租户之间的MAC地址和VLAN即使重复也不会冲突。 STP问题

20rabbitmq介绍

时光总嘲笑我的痴心妄想 提交于 2019-11-28 22:33:26
RabbitMQ介绍前言RabbitMQ是基于AMQP协议(Advanced Message Queue Protocol)的消息中间件什么是消息队列消息队列属于进程间通信的一种方式,使用消息队列可以通过异步方式处理数据,借此可以提高系统性能。我们可以把消息当作存放数据的容器,消息的消费者可以从队列中获取数据,进行处理。常见的消息队列有:ActiveMQ,RabbitMQ,Kafka,RocketMQ等。RabbitMQ中用到基本概念Broker:消息队列的服务器实体  Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列  Queue:消息队列载体,每个消息都会被投入到一个或多个队列  Binding:绑定,它主要是把exchange和queue按照路由规则绑定起来  Routing Key:路由关键字,exchange根据这个关键字进行消息投递  vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离  producer:消息生产者,投递消息的程序  consumer:消息消费者,接收消息的程序  channel:消息通道,在客户端的每个连接里,可以建立多个channel,每个channel代表一个会话任务RabbitMQ中消息模式1 简单队列一个生产者对应一个消费者2 工作队列一个生产者,多个消费者,一个消息只能发给一个消费者

计算机网络概述

假如想象 提交于 2019-11-28 20:20:01
什么是因特网 以构成因特网的基本硬件和软件组件来描述 处在因特网的边缘部分即连接到因特网上的设备成为主机(host)或端系统(end system) 端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起 最主要的两种分组交换机分别是路由器(router)和链路层交换机(link-layer switch) 端系统通过因特网服务提供商(ISP,Internet service provider)接入网络 端系统,分组交换机及其其他因特网部件都要运行一系列的协议(protocol),而TCP(Transmission control protocol,传输控制协议)/IP(Internet protocol,网际协议)是其中最为主要的两个协议 以为分布式应用提供服务的联网基本设施来描述 端系统提供了一个应用程序编程接口,你可以通过这个接口编写应用程序.运行在不同端系统上的软件需要互相分发数据,而因特网提供给这一系列服务 网络架构 客户服务器模式(Clinet-server model) 客户端,服务器都是主机 请求一方为客户,响应请求一方称为服务器 从双方建立联系的角度看,主动启动通信的是客户,被动等待通信的是服务器 客户端特点 一般只与服务器通信,连接具有间歇性,动态IP,客户端之间不直接通信 服务器特点 一直开启,IP固定

RabbitMQ 六种工作模式

半城伤御伤魂 提交于 2019-11-28 19:29:33
官网介绍:https://www.rabbitmq.com/getstarted.html 六种工作模式的主要特点 简单模式:一个生产者,一个消费者 work模式:一个生产者,多个消费者,每个消费者获取到的消息唯一(消费者彼此竞争成为接收者)。 订阅模式:一个生产者发送的消息会被多个消费者获取。 路由模式:发送消息到交换机并且要指定路由key ,消费者将队列绑定到交换机时需要指定路由key topic模式:将路由键和某模式进行匹配,此时队列需要绑定在一个模式上,“#”匹配一个词或多个词,“*”只匹配一个词。 简单模式(一个生产者,一个消费者) public static final String QUEUE_NAME= "myqueue"; public static void test() throws Exception { //定义连接工厂 ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); factory.setPort(5672); //设置Virtual Host factory.setVirtualHost("/ld"); factory.setUsername("ld"); factory.setPassword("aaa"); //通过工厂获取连接

网络协议 3 - 物理层 和 MAC 层

老子叫甜甜 提交于 2019-11-28 18:07:34
在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了。     今天,我们来认识下 物理层 和 MAC 层。     日常生活中,身为 90 后的我们,如果不是通信相关专业出身的,应该从来没有接触过物理层和 MAC 层的设备。我们接触最多的,可能就是路由器了。而路由器实际上是第三层-网络层的设备了。     那咱们怎么认识物理层呢?就不扯那些深奥的理论了,从宿舍联机打魔兽说起吧。     要想宿舍里的几台电脑连接到一个局域网内,第一反应就是买个路由器,大家都连上去就 OK 了。但是在 15 年前,路由器还没有那么普及的时候,你在校园里找个通信专业的学生问,知道怎么组建宿舍局域网吗?他应该会回答你,有三种方式: 网线连接 集线器连接 交换机 物理层     上面三种方式中,网线连接和集线器是完全在物理层工作,咱们就先见识下这两种方式。 网线连接     是的,你没看错,是用一根网线连接在两个电脑上。网线水晶头的第 1、2 和第 3、6脚,分别起着发、收信号的作用,要想通过一根网线将两台电脑连接在一个局域网上,需要额外做的操作就是将网线其中一端的 1 号和 3 号线、2 号和 6 号线互换一下位置,这样就能在物理层实现一端发送的信号,另一端成功接收。     当然,除了通过网线连接外,我们还需要配置这两台电脑的 IP 地址

Python之网络编程(一)网络编程初识

偶尔善良 提交于 2019-11-28 16:26:02
网络编程初识 C/S B/S架构 C/S B/S架构 C: client端 B: browse 浏览器 S: server端 C/S架构: 基于客户端与服务端之间的通信 ​ QQ, 游戏,皮皮虾, 快手,抖音. ​ 优点: 个性化设置,响应速度快, ​ 缺点: 开发成本,维护成本高,占用空间,用户固定. B/S架构: 基于浏览器与服务端之间的通信 ​ 谷歌浏览器,360浏览器,火狐浏览器等等. ​ 优点: 开发维护成本低,占用空间相对低,用户不固定. ​ 缺点: 功能单一,没有个性化设置,响应速度相对慢一些. 网络通信原理 80年代,固定电话联系,(还没有推广普通话) 两台电话之间一堆物理连接介质连接. 拨号,锁定对方电话的位置. 由于当时没有统一普通话,所以你如果和河南,山西,广西,福建等朋友进行友好的沟通交流,你必须学当地的方言. 推广普通话,统一交流方式. 两台电话之间一堆物理连接介质连接. 拨号,锁定对方电话的位置. 统一交流方式. 全球范围内交流: 两台电话之间一堆物理连接介质连接. 拨号,锁定对方电话的位置. 统一交流方式.(英语) 话题转回互联网通信: ​ 我现在想和美国的一个girl联系.你如何利用计算机联系??? 两台计算机要有一堆物理连接介质连接. 找到对方计算机软件位置. 遵循一揽子互联网通信协议. osi七层协议 osi七层协议 应用层 表示层 会话层

RabbitMQ的入门学习

馋奶兔 提交于 2019-11-28 15:56:39
RabbitMq消息队列 参考: https://blog.csdn.net/hellozpc/article/details/81436980 什么是消息队列 MQ :message Queue ,实际上是一个队列,先进先出,队列中存放的是message 主要用途:不同进程process/线程Thread之间的通信 产生消息队列的原因 1.不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程 2.不同进程(process)之间传递消息时,为了实现标准化,将消息的格式规范化 3.某一个进程接受的消息太多,一下子无法处理完,并且也有先后顺序,必须对收到的消息进行排队 RabbitMq的特点 1.实现应用程序和应用程序之间的通信 2.使用Erlang编写,Erlang是一种并发的编程语言 什么叫AMQP AMQP: 是消息队列的一个协议 如何使用RabbitMQ 1.安装Erlang 2.安装RabbitMQ 搭建RabbitMQ环境 ------》 登录RabbitMQ -------- > 设置用户,密码,vhost ----- >获取端口号 -----》此时就拥 有了一个RabbirMQ 两个应用之间的通信先经过RabbitMQ RabbitMQ的5种队列 一个生产者 一个队列 一个消费者: 实现: 1.建立客户端

计算机网络中各种交换设备的理解(中继器集线器路由器网关)

我与影子孤独终老i 提交于 2019-11-28 15:43:57
计算机网络中汲及多种联网设备,理解这些设备的关键是它们运行在不同的层次上 中继器 中继器是一种模拟设备,主要用来处理自己所连线缆上的信号。在一个线缆上出现的信号被清理、 放大 ,然后再被放到另一个线缆上。中继器不理解帧、数据包等。它们只知道把比特编码成电压的符号。 集线器 集线器有许多条输入线路,从任何一条线路上到达的帧都被发送到所有其他的线路上,如果两帧同时到达,会发生冲突,就好像它们在同一根同轴电缆上遇到后发生碰撞一样。连接到同一个集线器的所有线路必须以同样的速度运行。集线器不会检查链路层地址,也不以任何方式使用该地址 网桥 网桥有多个端口,连接两个或者多个局域网,网桥只把帧输出到所需要的端口,在同一时间内可以转发多个帧 交换机 交换机是现在风桥的另一个称呼,他们的差异更多体现在市场而不是技术方面。现在交换机的安装都使用了点到点链接,单个计算机通过双绞线直接插入到交换机端口 路由器 路由器完全不同于以上设备,当一个数据包进入到路由器时,帧头和帧尾被剥掉,帧的有效载荷字段中的数据包传给路由软件。路由软件复用IP来选择输出线路 传输网关 它们将两台使用了不同面向连接传输协议的计算机连接起来。例如 TCP/IP <--->SCTP。 应用网关 应用网关能理解数据的格式和内容,并且可以将消息从一种格式转换为另一种格式。例如,电子邮件网关将Internet 邮件转译为移动电话的SMS消息

Spring Boot(八):RabbitMQ 详解

99封情书 提交于 2019-11-28 14:57:18
RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将 RocketMQ 捐献给了 Apache,当然了今天的主角还是讲 RabbitMQ。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息队列也会被用在很多其它的方面,比如:分布式事务的支持,RPC 的调用等等。 以前一直使用的是 ActiveMQ,在实际的生产使用中也出现了一些小问题,在网络查阅了很多的资料后,决定尝试使用 RabbitMQ 来替换 ActiveMQ,RabbitMQ 的高可用性、高性能、灵活性等一些特点吸引了我们,查阅了一些资料整理出此文。 RabbitMQ 介绍 RabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 RabbitMQ 主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这个数据。 AMQP,即 Advanced Message Queuing Protocol