云服务器内容精选
-
约束与限制 Pipeline不能保证原子性。 Pipeline模式只是将客户端发送命令的方式改为批量发送命令,而服务端在批量处理命令的数据流时,仍然是解析出多个单命令并按顺序执行,各个命令相互独立,即服务端仍有可能在该过程中执行其他客户端的命令。如需保证原子性,请使用事务或Lua脚本。 若Pipeline执行过程中发生错误,不支持回滚。 Pipeline没有事务的特性,如待执行的命令前后存在依赖关系,请勿使用Pipeline。 如果某些客户端(例如redis-py)在实现Pipeline时使用事务命令MULTI、EXEC进行伪装,请您在使用过程中关注Pipeline与事务的区别,否则可能会产生报错,关于事务的限制请参见Redis transactions。
-
方案概述 分布式缓存服务Redis支持原生Redis的Pipeline(管道传输)机制,通过Pipeline机制可以将多个命令同时发给Redis服务端,减少网络延迟,提高性能。 通常在非Pipeline的模式下,Redis客户端(Client)向Redis发送一个命令后,会等待服务端(Server)返回结果,然后再发送下一个命令,以此类推。但在Pipeline模式下,客户端发送一个命令后无需等待服务端返回执行结果,会继续发送其他命令。在全部命令发送完毕后,客户端关闭请求,开始接收响应,把收到的执行结果与之前发送的命令按顺序进行匹配。 图1 非Pipeline模式与Pipeline模式的网络通信示意图 在Pipeline模式的具体实现中,大部分Redis客户端采用批量处理的方式,即一次发送多个命令,在接收完所有命令执行结果后再返回给上层业务。通过Pipeline模式可降低网络往返时延(Round-trip time,简称RTT),减少read()和write()的系统调用和进程切换次数,从而提升程序的执行效率与性能。 因此,在需要执行Redis批量操作,且用户无需立即获得每个操作结果的场景下,可以使用Pipeline作为优化性能的批处理工具。 使用Pipeline时客户端将独占与服务器端的连接,此期间将不能进行其他“非Pipeline”的操作,直至Pipeline被关闭。如果需要同时执行其他操作,可以为Pipeline操作单独建立一个连接,将其与常规非Pipeline操作分开。 关于Pipeline的更多介绍,请参见Redis pipeline。
-
审计是否存在异常数据访问 开启 云审计 服务,记录D CS 的所有访问操作,便于事后审查。 云审计服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 您开通云审计服务并创建和配置追踪器后,CTS可记录DCS的管理事件和数据事件用于审计。详情请参见查看DCS审计日志。 使用 云监控服务 对安全事件进行实时监控和告警。 您在使用DCS的过程中会也可能会遇到服务端返回的错误响应,为使您更好地掌握DCS实例状态,华为云提供了 云监控 服务(Cloud Eye)。您可使用该服务监控自己的DCS实例,执行自动实时监控、告警和通知操作,帮助您实时掌握DCS实例中所产生的请求、流量和错误响应等信息。 云监控服务不需要开通,会在用户创建DCS实例后自动启动。相关文档请参见DCS支持的监控指标、配置DCS监控告警。
-
构建数据的恢复和容灾能力 预先构建数据的容灾和恢复能力,可以有效避免异常数据处理场景下数据误删、破坏的问题。 建议开启实例自动备份,获得异常场景数据快速恢复能力。 DCS提供自动备份和手动备份两种备份操作。自动备份默认未开启,需要租户选择是否开启,备份存储期限最多7天。同时,开启自动备份后,允许对实例执行备份文件的恢复。自动备份请参见设置备份策略。 说明:手动备份是租户手动触发的实例全量备份,这些备份数据存储在华为OBS桶中,当租户删除实例时,会同步删除OBS桶中的快照。 建议使用跨AZ复制构建数据容灾能力。 DCS的主备和集群实例支持部署高可用实例,租户可选择在单可用区或多可用区中部署实例。当租户选择跨AZ实例时,DCS实例会主动建立和维护Redis同步复制。在实例主节点故障的情况下,缓存实例会自动将备实例升为主节点,从而达到高可用的目的。如果租户使用缓存实例时,业务中读取数据比例大,可以选择4.0以上版本的读写分离实例或者集群多副本实例,缓存实例会自动维护主节点和多个备节点之间的数据同步复制,租户可以根据业务需要连接不同的地址进行读写分离。 当租户选择跨AZ实例时,DCS实例会主动建立和维护Redis同步复制。在实例主节点故障的情况下,缓存实例会自动将备实例升为主节点,从而达到高可用的目的。
-
通过访问控制,保护数据安全性 正确的使用DCS提供的访问控制能力,可以有效预防您的数据被异常窃取或者破坏。 建议对不同角色的 IAM 用户仅设置最小权限,避免权限过大导致数据泄露或被误操作。 为了更好的进行权限隔离和管理,建议您配置独立的IAM管理员,授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组,用户组对应不同的数据访问场景,通过将用户添加到用户组并将IAM策略绑定到对应用户组,IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限,详情请参见DCS权限管理。 建议配置白名单或安全组访问控制,保护您的数据不被异常读取和操作。 租户创建DCS实例后,可以通过配置白名单或安全组的方式进行访问控制。租户配置IP白名单或安全组的入方向、出方向规则限制,可以控制连接实例的网络范围,避免DCS暴露给不可信第三方。 Redis 4.0、Redis 5.0和Redis 6.0基础版通过白名单控制,请参考配置白名单。 Redis 6.0企业版通过配置安全组访问规则控制,请参考配置安全组。安全组入方向规则的“源地址”应避免设置为0.0.0.0/0。 建议不使用高危命令,避免攻击者直接对Redis进行致命性破坏。 为避免攻击者直接对Redis进行致命性破坏,如果业务没有使用场景,建议通过命令重命名的方式对其进行禁用, 相关列表请参见默认禁用的命令列表,支持重命名的命令列表。 建议使用非默认端口,避免端口被扫描攻击。 Redis Server监听的端口默认为6379,容易被扫描攻击,建议将端口设置为非默认端口。支持修改的端口范围:1~65535之间的其它端口号。详情请参见自定义或修改端口。 建议限制Redis客户端最大连接数,通过限制使用的资源,降低资源耗尽和拒绝服务风险。 Redis的maxclients参数决定了实例最大支持同时连接的客户端个数,默认值为10000,设置范围为1000~50000。如果超过自定义的连接数阈值,新的连接请求将被拒绝。 建议根据应用的具体使用场景设置合适的客户端最大连接数,限制资源耗尽和拒绝服务的可能性。修改maxclients参数请参见修改配置参数。 建议限制Redis连接闲置等待时间,根据业务实际场景来设置具体时间。 为避免client空闲连接长时间占用资源,可在控制台界面配置闲置等待时间(timeout参数),设置超时阈值后,将在连接空闲指定的秒数后关闭客户端连接。timeout默认值为0,表示服务端不会主动断开客户端的空闲连接。设置范围为0~7200,单位:秒。 建议根据应用的具体使用场景设置实际闲置等待时间,不建议将timeout设置为0。例如,可以将timeout设置为3600秒。避免出现资源耗尽和拒绝服务的可能性。修改timeout参数请参见修改配置参数。 建议将访问DCS实例方式设置为密码访问,防止未经认证的客户端误操作实例。达到对客户端进行认证访问的目的,提高实例使用的安全性。 您可以在购买Redis实例时进行设置访问密码,也可以对已创建的免密实例进行密码重置。 建议为DCS实例配置ACL访问控制权限。 DCS管理员可以为实例创建只读账号或者读写账号,用于不同业务场景下访问DCS的精细管控。 建议不同的业务使用不同的DCS实例,避免实例故障影响多个业务。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格