网络端口

redis系列--主从复制以及redis复制演进

会有一股神秘感。 提交于 2019-12-17 22:51:52
一、前言   在之前的文章已经详细介绍了redis入门基础已经持久化相关内容包括redis4.0所提供的混合持久化。   通过持久化功能,Redis保证了即使在服务器宕机情况下数据的丢失非常少。但是如果这台服务器出现了硬盘故障、系统崩溃等等,不仅仅是数据丢失,很可能对业务造成灾难性打击。为了避免单点故障通常的做法是将数据复制多个副本保存在不同的服务器上,这样即使有其中一台服务器出现故障,其他服务器依然可以继续提供服务。当然Redis提供了多种高可用方案包括:主从复制、哨兵模式的主从复制、以及集群。   本文将详细介绍Redis从2.6以到4.0提供复制方案的演进,也包括:主从复制、复制原理以及相关实践。 二、主从复制 简介   在主从复制中,数据库分为两类,一类是主库(master),另一类是同步主库数据的从库(slave)。主库可以进行读写操作,当写操作导致数据变化时会自动同步到从库。而从库一般是只读的(特定情况也可以写,通过参数slave-read-only指定),并接受来自主库的数据,一个主库可拥有多个从库,而一个从库只能有一个主库。这样就使得redis的主从架构有了两种模式:一类是一主多从如下图1,二类是“链式主从复制”--主->从->主-从如下图2。 对于一主多从的复制架构不必多说,这里解释下链式主从复制:如上图2,主库A的数据会同步到从库B和从库C

nmap端口扫描+pythonDemo

跟風遠走 提交于 2019-12-17 22:36:24
nmap 高效端口扫描器 官方demo 使用三步骤 安装: pip3 install python-nmap 导入: import nmap 实例化: nm=nmap.PortScanner() # linux使用, 必须先安装 nmap这个软件 yum -y install nmap # windows使用, 也必须先安装 nmap,配置环境变量,并重启pycharm PortScanner 端口扫描 nm.scan('127.0.0.1', '22,6379','-sV') # 端口扫描 {'nmap': {'command_line': 'nmap -oX - -p 22,6379 -sV 127.0.0.1', 'scaninfo': {'tcp': {'method': 'syn', 'services': '22,6379'}}, 'scanstats': {'timestr': 'Thu Sep 05 10:36:11 2019', 'elapsed' : '17.35', 'uphosts': '1', 'downhosts': '0', 'totalhosts': '1'}}, 'scan': {'127.0.0.1': {'hostnames': [], 'addresses': {'ipv4': '127.0.0.1', 'mac': '00:50:56:8A

小米开源监控open-falcon安装

笑着哭i 提交于 2019-12-17 17:23:02
https://www.cnblogs.com/liangqihui/p/6618127.html 前言 近期爆出Zabbix有严重bug,加上一直对zabbix的性能、UI不满。所以这次想钻研一下最近很火的open-falcon,源于小米公司的开源项目,赞一个。 一、官网介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择。当公司刚刚起步,业务规模较小,运维团队也刚刚建立的初期,选择一款开源的监控系统,是一个省时省力,效率最高的方案。之后,随着业务规模的持续快速增长,监控的对象也越来越多,越来越复杂,监控系统的使用对象也从最初少数的几个SRE,扩大为更多的DEVS,SRE。这时候,监控系统的容量和用户的“使用效率”成了最为突出的问题。 监控系统业界有很多杰出的开源监控系统。我们在早期,一直在用zabbix,不过随着业务的快速发展,以及互联网公司特有的一些需求,现有的开源的监控系统在性能、扩展性、和用户的使用效率方面,已经无法支撑了。 因此,我们在过去的一年里,从互联网公司的一些需求出发,从各位SRE、SA、DEVS的使用经验和反馈出发,结合业界的一些大的互联网公司做监控,用监控的一些思考出发,设计开发了小米的监控系统:Open-Falcon。 特点:

华为交换机配置命令总结

≯℡__Kan透↙ 提交于 2019-12-17 13:35:53
1 、配置文件相关命令 [Quidway]display current-configuration 显示当前生效的配置 [Quidway]display saved-configuration 显示 flash 中配置文件,即下次上电启动时所用 的配置文件 reset saved-configuration 檫除旧的配置文件 reboot 交换机重启 display version 显示系统版本信息 2 、基本配置 [Quidway]super password 修改特权用户密码 [Quidway]sysname 交换机命名 [Quidway]interface ethernet 1/0/1 进入接口视图 [Quidway]interface vlan 1 进入接口视图 [Quidway-Vlan-interfacex]ip address 10.1.1.11 255.255.0.0 配置 VLAN 的 IP 地址 [Quidway]ip route-static 0.0.0.0 0.0.0.0 10.1.1.1 静态路由=网关 3 、 telnet 配置 [Quidway]user-interface vty 0 4 进入虚拟终端 [S3026-ui-vty0-4]authentication-mode password 设置口令模式 [S3026-ui-vty0-4]set

Zookeeper系列一:Zookeeper介绍、Zookeeper安装配置、ZK Shell的使用

☆樱花仙子☆ 提交于 2019-12-17 09:08:06
https://www.cnblogs.com/leeSmall/p/9563547.html 一、Zookeeper介绍 1. 介绍Zookeeper之前先来介绍一下分布式 1.1 分布式主要是下面两个方面: 1) 任务拆分   任务拆分指的是把传统的单节点服务拆分成多个节点服务部署到不同的机器上对外提供服务。比如一个传统服务有订单+支付+物流等3个模块,拆分成订单系统、支付系统、物流系统3个服务。 2) 节点分工   如上面的服务拆分后,订单系统、支付系统、物流系统各司其职 说明: 分布式解决高可用,高并发的。 集群解决的是高可用。 集群从物理上来定义,分布式一种工作方式。 例如:一个工作任务需要10个小时(单节点) 分布式:10台机器,任务只需要1个小时就能够完成 集群:10台机器,任务还是10个小时。 1.2 分布式协作中的难点: 如果让你设计一个分布式系统,你预见到什么问题? 1) 保证节点高可用(节点故障) 2) 数据的一致性 3) 通讯异常 4) 网络分区 ....... 2. Zookeeper简介 Zookeeper就是用来解决分布式协作中的难点的 zookeeper是google的chubby项目开源实现。最早是hadoop的子项目 Zookeeper的使用场景: 小米米聊、淘宝Taokeeper其实是类zookeeper。 Kafka使用zookeeper

端口状态说明 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT

徘徊边缘 提交于 2019-12-17 07:22:24
TCP状态转移要点 TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得注意的状态有两个:CLOSE_WAIT和TIME_WAIT。 1、LISTENING状态   FTP服务启动后首先处于侦听(LISTENING)状态。 2、ESTABLISHED状态   ESTABLISHED的意思是建立连接。表示两台机器正在通信。 3、CLOSE_WAIT 对方主动关闭连接或者网络异常导致连接中断 ,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭 4、TIME_WAIT 我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。 TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。 处于TIME_WAIT状态的连接占用的资源不会被内核释放 ,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。 目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项

计算机网络 第五章 ——传输层

断了今生、忘了曾经 提交于 2019-12-17 04:29:23
文章目录 传输层的功能 传输层的端口 传输层协议UDP和TCP UDP的主要特点 传输控制协议TCP概述 传输层协议和应用层协议之间的关系 TCP可靠传输的实现 连续ARQ协议 累计确认 TCP报文段首部格式 TCP滑动窗口技术实现可靠传输 TCP的流量控制 TCP的拥塞控制 拥塞控制四种算法 TCP的运输连接管理 TCP的连接 SYN洪泛攻击 TCP的连接释放 传输层的功能 为相互通信的应用进程提供了逻辑通信。 传输层实现了程序到程序 网络层实现了地址到地址 传输层的主要功能: 传输层为 应用进程之间 提供 端到端 的逻辑通信(但网络层是为 主机之间 提供逻辑通信) 传输层还要对收到的报文进行差错检测 传输层提供面向连接和无连接的服务。 传输层的端口 在网络层用 协议号 标识使用TCP/UDP TCP 6 UDP 17 IGMP 1 在传输层用端口号标识区分上一层 TCP的端口 端口用一个16位端口号进行标识 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程,。在因特网中不同计算机的相同端口号是没有联系的。 端口的取值范围是0~65535 熟知的端口0~1023 登记端口 1024~49151 客户端口号 49152~65535 传输层协议UDP和TCP 在TCP/IP协议栈,传输层有两个协议TCP/UDP TCP (Transmission Control

Redis Cluster集群配置与管理

痞子三分冷 提交于 2019-12-17 02:58:52
Redis Cluster介绍 Redis Cluster集群是redis集群的一种方式,由官方提供,由多个节点组成的分布式网络集群,每个节点可以是主,也可以是从,但每个主节点都需要有对应的从节点,保证高可用,主节点提供数据读写,不支持同时处理多个键(如mset/mget命令),因为redis需要把键均匀分布在各个节点上,并发量很高的情况下同时创建键值会降低性能并导致不可预测的行为。支持在线增加、删除节点,客户端可以连任何一个主节点进行读写。 Redis Cluster采用了分布式系统的分片(分区)的思路,每个主节点为一个分片,这样也就意味着 存储的数据是分散在所有分片中的。当增加节点或删除主节点时,原存储在某个主节点中的数据 会自动再次分配到其他主节点。 如图,各节点间是相互通信的,通信端口为各节点Redis服务端口+10000,这个端口是固定的,所以注意防火墙设置, 节点之间通过二进制协议通信,这样的目的是减少带宽消耗。 在Redis Cluster中有一个概念slot,我们翻译为槽。Slot数量是固定的,为16384个。这些slot会均匀地分布到各个节点上,另外Redis的键和值会根据hash算法存储在对应的slot中。简单讲,对于一个键值对,存的时候在哪里是通过 hash算法算出来的,那么取得时候也会算一下,知道值在哪个slot上。根据slot编号再到对应的节点上去取。

测试端口常用命令

孤者浪人 提交于 2019-12-17 01:07:27
测试端口常用命令 1.ping命令 参考hebbly的微博 ping命令详解 1.1.测试网络连通 可用于网络可用性检查,对一个网络地址发送测试数据包,看该网络地址是否有响应并统计响应时间,以此测试网络。 使用ping检查连通性有5个步骤: a.使用ipconfig /all观察本地网络配置是否正确。 b.ping 127.0.0.1,其中127.0.0.1是回送地址,ping回送地址是为了检查本地tcp/ip协议有没有设置好。 c.ping 本机ip地址,检查本地ip地址是否设置有误。 d.ping 本网网关或本网ip地址,检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常。 e.ping 远程ip地址,检查本网或本机与外部连接是否正常。 1.2判断一条链路好坏 使用它的返回数据来估算与某台主机之间的速度是多少字节每秒。 上面最后一个截图中: “字节=32”表示ICMP报文中有32个字节的测试数据;“时间=11ms”是往返时间;从图中来看,丢包数为0,网络状态良好。 1.3对返回信息的分析 a.Request timed out分析原因 a.1 对方关机,或网络上无此地址。 a.2 对方与自己不在同一网段,通过路由无法找到对方。 a.3 对方确实存在,但设置了icmp数据包过滤(比如设置防火墙)。 想知道对方是否存在,用带参数-a的ping命令探测对方

UDP ------ UDP打洞

拥有回忆 提交于 2019-12-17 00:51:53
为什么需要UDP打洞 处于两个不同局域网的主机不能直接进行UDP通信 UDP"打洞"原理 1. NAT分类 根据Stun协议(RFC3489),NAT大致分为下面四类 1) Full Cone 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外网的任何发到这个打开的端口的UDP数据报都可以到达A.不管是不是C发过来的. 例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88 A(192.168.8.100:5000) -> NAT(202.100.100.100 : 8000) -> C(292.88.88.88:2000) 任何发送到 NAT(202.100.100.100:8000)的数据都可以到达A(192.168.8.100:5000) 2) Restricted Cone 这种NAT内部的机器A连接过外网的机器C后,NAT打开一个端口.然后C可以用任何端口和A通信.其他的外网机器不行. 例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88 A(192.168.8.100:5000) -> NAT(202.100.100.100 : 8000) -> C(292.88.88.88:2000) 任何从C发送到 NAT(202.100.100.100