Web 防火墙(WAF)是什么?和传统防火墙区别是什么?
Web 防火墙(WAF)是什么?WAF,全称为:Web Application Firewall,即 Web 应用防火墙。对此,维基百科是这么解释的:Web应用程序防火墙过滤,监视和阻止与Web应用程序之间的HTTP流量。WAF与常规防火墙的区别在于,WAF能够过滤特定Web应用程序的内容,而常规防火墙则充当服务器之间的安全门。通过检查HTTP流量,它可以防止源自Web应用程序安全漏洞的攻击,例如
...
从入门到高可用分布式实践-集群-下
书接上回,我们继续学习Redis的集群知识点。
四、客户端访问集群在集群中,数据分布在不同的节点中,客户端通过某节点访问数据时,数据可能不在该节点中;下面介绍集群是如何处理这个问题的。
1. redis-cli当节点收到redis-cli发来的命令(如set/get)时,过程如下:
(1)计算key属于哪个槽:CRC16(key) & 16383集群提供的cluster keyslot命令
...
从入门到高可用分布式实践-集群-上
在前面的文章中,已经介绍了Redis的几种高可用技术:持久化、主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡。
上面的问题可以归纳为为什么需要集群?
并发量(我们知道Redis官方宣称单机QPS是 10万/每秒,但是当我们业务是100万/每秒的时候单机就不行了)
数据量(单机内存总是有限的,当我们的业务量远大于单机内存的时候就会有问题)
网
...
从入门到高可用分布式实践-哨兵
前几篇我们学习了Redis主从复制的作用有数据热备、负载均衡、故障恢复等;但主从复制存在的一个问题是故障恢复无法自动化。本文将要介绍的哨兵,它基于Redis主从复制,主要作用便是解决主节点故障恢复的自动化问题,进一步提高系统的高可用性。
在正式学习Redis的哨兵之前我们先看下主从复制存在的问题:
Redis的主从复制模式将数据改变同步到从节点,做数据的备份以及
...
从入门到高可用分布式实践-Redis复制的原理与优化-下
今天我们看下Redis复制的原理与优化最后的知识点。
应用中的问题1. 读写分离及其中的问题 在主从复制基础上实现的读写分离,可以实现Redis的读负载均衡:由主节点提供写服务,由一个或多个从节点提供读服务(多个从节点既可以提高数据冗余程度,也可以最大化读负载能力);在读负载较大的应用场景下,可以大大提高Redis服务器的并发量。下面介绍在使用Redis读写分离时,需要注意的问题。
...
从入门到高可用分布式实践-Redis复制的原理与优化-中
我们继续学习Redis复制的原理与优化。
【数据同步阶段】全量复制和部分复制 在Redis2.8以前,从节点向主节点发送sync命令请求同步数据,此时的同步方式是全量复制;在Redis2.8及以后,从节点可以发送psync命令请求同步数据,此时根据主从节点当前状态的不同,同步方式可能是全量复制或部分复制。后文介绍以Redis2.8及以后版本为例。
全量复制:用于初次复制或其他无法
...
从入门到高可用分布式实践-Redis复制的原理与优化-上
在Redis的持久化中曾提到,Redis高可用的方案包括持久化、主从复制(及读写分离)、哨兵和集群。其中持久化侧重解决的是Redis数据的单机备份问题(从内存到硬盘的备份);而主从复制则侧重解决数据的多机热备。此外,主从复制还可以实现负载均衡和故障恢复。
这篇文章中,将详细介绍Redis主从复制的方方面面,包括:如何使用主从复制、主从复制的原理(重点是全量复制和部分复制、以及心跳机制)、实际应用中
...
从入门到高可用分布式实践-常见的持久化开发运维问题
这篇我们来看下Redis持久化中常见的运维问题,主要从fork操作、进程外开销、AOF追加阻塞这三个方面来学习。
fork操作当 Redis 做 RDB 或者 AOF 重写时,必然要进行 fork 操作,对于 OS 来说,fork 都是一个重量级操作。而且,fork 还会拷贝一些数据,虽然不会拷贝主进程所有的物理空间,但会复制主进程的空间内存页表。对于 10GB 的 Redis 进程,需要复制大约
...
从入门到高可用分布式实践-Redis持久化的取舍和选择
这篇我们来看下关于Redis持久化的知识点,因为有时候我们希望保存一些Redis数据到磁盘上。
持久化的作用什么是持久化? 由于 Redis 是一个内存数据库,所谓内存数据库,就是将数据库中的内容保存在内存中,这与传统的MySQL,Oracle等关系型数据库直接将内容保存到硬盘中相比,内存数据库的读写效率比传统数据库要快的多(内存的读写效率远远大于硬盘的读写效率)。但是保存在内存中
...
从入门到高可用分布式实践-Redis的其他功能
这篇我们将学习和总结一下Redis的一些其他功能。
慢查询我们从生命周期、三个命令、两个配置、运维经验来看下慢查询。
生命周期
一条Redis命令大致经过发送命令–>排队(单线程原因)–>执行命令–>返回结果四个过程,也是一个完整的生命周期过程。
两个配置-slowlog-max-len1、先进先出队列(假如说一条命令在执行过程中,被列入慢查询的范围内他就会进入一个队列,这个队列
...