- 博客(48)
- 收藏
- 关注
原创 CentOS7源码安装redis6
下载redis6.0.5,地址(http://download.redis.io/releases/redis-6.0.5.tar.gz)编译安装:SSL作为Redis6的新特性,需要在编译时指定开启:make BUILD_TLS=yes install(install待继续测试)配置sslredis的配置文件redis.conf文件关于tls的配置情况如下(关于相关配置文件可以参考xx)port 0tls-port 22010tls-cert-file /var/private/redis
2021-11-30 10:02:26
262
原创 mysql存储引擎介绍
什么是MySQL存储引擎MySQL属于关系型数据库,而关系型数据库的存储是以表的形式进行的,对于表的创建,数据的存储,检索,更新等都是由MySQL存储引擎完成的,这也是MySQL存储引擎在MySQL中扮演的重要角色。研究过SQL Server和Oracle的读者可能很清楚,这两种数据库的存储引擎只有一个,而MySQL的存储引擎种类比较多,如MyISAM存储引擎,InnoDB存储引擎和Memory存储引擎.MySQL之所以有多种存储引擎,是因为MySQL的开源性决定的。MySQL存储引擎,从种类上来..
2020-05-14 11:52:01
406
原创 mysql入门介绍
mysql架构图组件介绍(一)MySQL向外提供的交互接口(Connectors)Connectors组件,是MySQL向外提供的交互组件,如java,.net,php等语言可以通过该组件来操作SQL语句,实现与SQL的交互。(二)管理服务组件和工具组件(Management Service & Utilities)提供对MySQL的集成管理,如备份(Backup),恢复(Recovery),安全管理(Security)等(三)连接池组件(Connection Pool)负责监听对.
2020-05-14 11:51:38
500
原创 系统引入MQ的优势
MQ是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。1、应用解耦(系统拆分)各模块之间无需感知多方的存在或者具体接口实现或者数据层面的设计,只需要将数据推送到mq即可2、异步处理场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种 1.串行的方式;2.并行方式a、串行方式:将注册信息写入数据库成功后,发送注册邮...
2020-03-19 20:10:29
264
原创 kafka介绍
Apache KafkaApache Kafka不是消息代理的实现。 而是一个分布式流媒体平台。与基于队列和交换的RabbitMQ不同,Kafka的存储层是使用分区的事务日志实现的。 Kafka还提供用于实时处理流的Streams API和可轻松与各种数据源集成的Connector API。 但是,这些不在本文的讨论范围之内。云供应商为Kafka的存储层提供了替代解决方案。 这些解决方案包括...
2020-03-19 17:32:06
246
原创 scapy模拟网络
模拟udp#!/usr/bin/python# -*- coding: UTF-8 -*-from scapy import *from scapy.all import *data = "Hello Scapy"pkt = IP(src='172.16.2.134', dst='172.16.2.91')/UDP(sport=12345, dport=5555)/datasend...
2020-03-05 11:31:48
386
原创 传输层TCP和UDP区别
UDPTCP是否需连接无连接面向连接是否可靠性传输可靠性不保证可靠传输连接方式单播,广播,任播单播数据传输方式报文字节流是否拥塞控制不使用支持拥塞控制是否流量控制不使用支持流量控制报文开销8字节20~60字节数据传输方式1、UDP 报文(数据报)UDP传输时,UDP模块就将应用层下发到传输层的数据封装成...
2020-03-05 11:31:25
383
原创 Python基于tcp和udp两种方式实现socket
1、基于socket.sock_stream实现tcp连接sock_stream 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。SOCK_STREAM是基于TCP的,数据传输比较有保障。基于广播SOCK_STREAM 是数据流,一般是tcp/ip协议的编程,服务端#!/usr/bin/env python# -*- coding:utf8 -*...
2020-03-03 14:40:34
357
原创 rabbitmq 高可用
RabbitMQ 的高可用性RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式1、单机模式不存在高可用。生产环境不使用2、普通集群模式普通集群模式下,以两个节点(rabbit01、rabbit02)为例来进行说明。对于Queue来说,消息实体只存在于其中一个节点rabbit01(或者rabbit02),rabbit01和rabbit02两个节点仅有相同的元数据,即队列的结构...
2020-03-03 14:25:53
667
原创 rabbitmq 服务高可靠
一、高可用性(HA):消息ACK,通知RabbitMQ消息已被处理,可以从内存删除。如果消费者因宕机或链接失败等原因没有发送ACK(不同于ActiveMQ,在RabbitMQ里,消息没有过期的概念),则RabbitMQ会将消息重新发送给其他监听在队列的下一个消费者。channel.basicConsume(queuename, noAck=false, consumer);消息和队列的持久...
2020-02-21 22:37:57
228
原创 rabbitmq运维操作
常用命令如下添加用户:rabbitmqctl add_user rainbird password添加权限:rabbitmqctl set_permissions -p "/" rainbird ".*" ".*" ".*"删除测试用户:rabbitmqctl delete_user guest所有指令列表(很简单的英文):add_user <UserName> &l...
2020-02-21 00:27:36
335
原创 rabbitmq消息持久化
RabbitMQ支持消息的持久化,也就是数据写在磁盘上,为了数据安全考虑,我想大多数用户都会选择持久化。消息队列持久化包括3个部分:1、exchange持久化,在声明时指定durable => 12、queue持久化,在声明时指定durable => 13、消息持久化,在投递时指定delivery_mode => 2(1是非持久化)如果exchange和queue都是持久...
2020-02-20 21:21:17
414
原创 rabbitmq exchange详细分析
RabbitMQ中,所有生产者提交的消息都由Exchange来接受,然后Exchange按照特定的策略转发到Queue进行存储,RabbitMQ提供了四种Exchange:1、fanout2、direct3、topic4、headerheader模式在实际使用中较少,本文只对前三种模式进行比较。一.Direct Exchange任何发送到Direct Exchange的消息都会被转...
2020-02-19 21:13:12
627
原创 rabbitmq介绍
RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。为什么使用rabbitmqrabbitmq基础组件及概念rabbitmq的架构图如下图所示rabbitmq系统组件1、Broker:简单来说就是消息队列服务器实...
2020-02-19 21:12:03
232
原创 IPFIX
IPFIX 是基于“流”的概念,一个流是指,来自相同的子接口,有相同的源和目的IP 地址,协议类型,相同的源和目的协议端口号,以及相同ToS的报文,通常为5 元组。IPFIX 会记录这个流的统计信息,包括:时间戳,报文数,总的字节数。IPFIX主要包括三个设备Export、Collector、Analyzer,三个设备之间的关系如下。Export对网络流进行分析处理,提取符合条件的流统计...
2020-02-13 21:17:06
1081
原创 sctp传输协议
SCTP流控制传输协议(Stream Control Transmission Protocol)是一种在网络连接两端之间同时传输多个数据流的协议。SCTP提供的服务于UDP和TCP类似。和TCP类似,SCTP是面向连接、端到端、全双工、带有流量和拥塞控制的可靠传输协议。SCTP的连接称为关联。不同之处如下1、四次握手SCTP的关联通过4次握手建立。相对于TCP的3次握手建立连接,SCTP的关...
2020-02-12 16:59:58
1653
原创 sctp、tcp、udp场景分析
何时使用UDP代替TCP?(1)UDP的优势:A. UDP支持广播和多播。如果应用程序使用广播或者多播,那就必须使用UDP。B. UDP没有连接的建立与拆除。UDP只需要两个分组就能交换一个请求和一个应答。(2)UDP无法提供的TCP特性:(3)总结建议:多媒体应用领域的增长将会促成UDP使用的增加,多媒体通常意味着需要UDP的多播。(4)例外:TFTP(Trivial Fi...
2020-02-12 16:44:13
1151
原创 RPC远程过程调用
RPC(remote procedure call)远程方法调用,就是像调用本地方法一样调用远程方法。RPC是远程调用过程的简写,是一个协议,处于网络通信协议的第五层:会话层,其下就是TCP/IP协议,在建立在其基础上的通信会话协议。常见RPC框架结构图...
2020-02-11 22:23:26
304
原创 redis集群模式
redis3.0上加入了cluster模式,实现的redis的分布式存储,也就是说每台redis节点上存储不同的内容。 Redis-Cluster采用无中心结构,它的特点如下:所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。节点的fail是通过集群中超过半数的节点检测失效时才生效。客户端与redis节点直连,不需要中间代理层.客户端不需要连接集...
2020-02-10 22:09:58
195
原创 哨兵的状态监测及故障切换代码梳理
redis哨兵代码流程如下图所示1. sentinelTimer定时任务sentinelCheckTiltCondition();sentinelHandleDictOfRedisInstances(sentinel.masters);sentinelRunPendingScripts();sentinelCollectTerminatedScripts();sentinelKill...
2020-02-09 22:34:55
1289
原创 redis哨兵模式
由于redis主从模式无法解决主从节点的状态监测及异常情况的故障切换,redis引入哨兵模式,进行状态监测和故障切换。redis哨兵模式是基于主从模式(主从模式优点得以保留)。相对于主从模式需要手动修改redis.properties配置来实现从节点升级为主节点手动干预,哨兵模式可以通过哨兵监测选举实现主从节点的自动化切换。哨兵模式的部署图如下图所示特点引入独立哨兵自动检测状态主从自...
2020-02-09 22:19:02
215
原创 redis主从模式
主从模式是redis最基础的高可用模式,通过建立一主多从的关系,实现数据的备份保存保存功能。主从模式的结构如下图所示。在redis主从模式中,主节点对外提供数据的读写服务,从节点保持对主节点的数据备份,并可以对外提供数据读取服务。心跳 在主从关系中,从节点每秒中会向主节点上报信息,维护主从之间的心跳关系。发送的命令为REPLCONF ACK o...
2020-02-09 22:05:44
624
原创 neutron网络规划-交换机网卡类型设置
了解这个,需要首先要知道,网络的数据链路层传输的是数据帧。涉及到进行交换机数据传输的帧文就会在标准以太网帧基础上插入vlan信息,这个vlan信息共计4个字节,这个就是vlan tag头,这种带有vlan tag头的帧数据普通pc机无法正常识别使用,都需要通过交换机进行解析后才可以。vlan tag头(4bytes)信息如下1、2 个字节的协议标示符( TPID ),当前置 0X8100 的固...
2020-02-07 21:21:06
519
原创 OpenStack PasteDeploy
Paste Deploy是一个WSGI工具包,对WSGI进行了一些包装,使之更易使用。对外提供WSGI服务,配置信息在etc目录下的api-paste.ini文件,下图是openstack nova项目的api-paste.ini文件示例由图可以看出api-paste有四种不同的配置composite、app、filter、pipeline。配置说明 compositecomposite用...
2020-02-06 21:36:13
331
原创 L2\L3层网络区别
L2,2层网络没有IP地址和路由的概念,网络基于MAC地址寻址转发数据,数据以帧格式存在,不容易控制,存在广播风暴,一个2层网络是一个广播域一个冲突域。L2=物理层+数据链路层。属交换网络(MAC地址识别)L3,IP地址概念,可以路由,网络基于IP地址寻址转发,数据以包的形式存在,容易控制,隔离广播风暴,L3层网络的一个子网是一个广播域一个冲突域;L3=物理层+数据链路层+网络层。属路...
2020-02-06 17:00:26
11890
1
原创 kvm、qemu、libvirt介绍
1、KVM 是一个开源的系统虚拟化模块。它使用Linux自身的调度器进行管理。•KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。•可允许运行多个虚拟机,包括 Linux 和 Windows操作系统。KVM的结构如下图所示•KVM从存在形式看,是两个内核模块kvm.ko和kvm_intel.ko(对AMD处理器来说,就是kvm_amd.ko)...
2020-02-06 16:57:15
2459
原创 kvm虚拟化简介
1、KVM介绍KVM是一个基于Linux内核的虚拟机,它属于完全虚拟化范畴,从Linux-2.6.20开始被包含在Linux内核中。KVM基于x86硬件虚拟化技术,它的运行要求Intel VT-x或AMD SVM的支持。一般认为,虚拟机监控的实现模型有两类:监控模型(Hypervisor)和宿主机模型(Host-based)。由于监控模型需要进行处理器调度,还需要实现各种驱动程序,以支撑运行其...
2020-02-06 16:30:53
10737
原创 openstack nova创建虚拟机源码分析
一,api层1、nova.api.openstack.compute.api.py ServersController.create()方法处理创建虚拟机接口。该方法执行self.compute_api.create() 其中compute是nova.compute.api @wsgi.response(202) @extensions.expected_errors((4...
2020-02-05 21:51:45
892
原创 eventlet方法统计
eventlet.spawn(func, *args, **kw)产生一个绿色线程,调用func(*args, **kw)This launches a greenthread to call func. Spawning off multiple greenthreads gets work done in parallel. The return value from spawn is a...
2020-02-01 17:23:53
344
原创 nova虚拟机迁移一
虚拟机迁移虚拟机迁移也就是把一台虚拟机从原计算节点迁移到一个新的计算节点,并且能够保证虚拟机在新的计算节点可以正常工作,虚拟机的迁移根据虚拟机的运行状态可以分为两种1、动态迁移;2、静态迁移虚拟机动态迁移虚拟机的动态迁移又被称之为热迁移,或者被称之为在线迁移。虚拟机的动态迁移,便是在虚拟机处于运行中的状态下,在保证虚拟机业务不中断的情况下,将虚拟机从源计算节点迁移到目标计算节点,整个过...
2020-02-01 17:04:50
1489
1
原创 neutron组网规划(flat、vlan类型)
组网规划组网方式主要有两种,Flat网络及VLAN网络,生产环境强烈建议使用VLAN网络方式,Flat网络仅供测试使用。两种组网方式二选一。1、Flat网络适用场景:测试环境,主机仅有一个网口,或无三层交换机,或嵌套虚拟化(虚拟机上搭建)2、VLAN网络适用场景:测试生产均可,主机至少有两个网口,且有三层交换机,可满足管理与业务流量隔离,或者不同业务流量隔离等需求。Flat网络Fla...
2020-02-01 15:27:05
6717
原创 OpenStack部署
部署关键字1、 控制节点即部署OpenStack系统的所有控制服务的节点服务器,能够对系统所有的业务工作进行处理及管理,组织数据及用户的UI门户,保存数据。控制节点一般情况对服务器的性能要求较低,以服务器E2609-V3等低端处理器便可以进行部署2、 计算节点该类节点需要部署KVM等虚拟化软件,执行硬件的虚拟化过程,在同一个机器上虚拟出多份逻辑资源,同时供多个OS使用,计算节点便是运行虚拟...
2020-02-01 15:02:19
564
原创 supervisor配置监管redis
离线安装 所需包有 python-meld3-0.6.10-1.el7.x86_64.rpm supervisor-3.3.1.tar.gz setuptools-36.6.0.zip 安装setuptools-36.6.0.zip 解压进入目录,执行python setup.py build &&...
2020-01-31 19:55:09
469
原创 compute节点启动初始化销毁已撤离虚拟机
针对OpenStack HA要不要做故障主机隔离,调研了nova-compute服务启动流程调研结果:1、nova-compute服务启动时,首先创建service对象,service来初始化ComputeManager与对应的driver(也就是libvirt);2、service在start的时候,会调用执行ComputeManager的hook方法,包括init_host()方法,如下...
2020-01-31 18:44:14
311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人