问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

阿里云服务器的ECS和RDS和OSS和SLB是什么意思

发布网友 发布时间:2022-04-21 19:49

我来回答

6个回答

懂视网 时间:2022-04-30 09:13

 

OCS概要介绍

        据AlertSite网络分析公司表示,Facebook的响应时间在2010年平均为1秒钟,到2011年中期已提高到了0.73秒。对比来看,响应时间占第二位的LinkedIn,网络下载内容时要花费将近2倍的时间。Twitter的响应时间则整整迟了2秒钟。响应时间优化的首要手段就是采用缓存技术,减少系统间交互请求和磁盘IO。

        OCS是阿里巴巴集团的分布式缓存产品,支撑着淘宝、阿里巴巴、支付宝的日常运作,尤其在双11等大型活动上,承载了绝大多数的数据请求。与OCS相比,著名的Memcached具备了分布式集群管理的功能。2014年OCS经历了从分布式到云服务的进化,作为阿里云服务的缓存产品正式商业化。

OCS技术讲解

        OCS的核心存储是淘宝的开源产品TAIR(发音:太爱儿)

TAIR原理

角色上分为DataServer,ConfigServer:

  1. ConfigServer负责数据的路由表管理,决定着哪些数据应该去哪里访问。同时也管理着DataServer节点的存活状态,自动踢出宕机或者异常节点。
  2. DataServer是数据存储节点,负责数据的增删改查。通过Plugin机制支持多种存储引擎。常用的有基于内存的,所有的数据保存在内存之中,查询速度快,但不持久化,网络正常的情况下,客户端在0.2ms内得到请求响应。另外一种常用存储引擎基于SSD介质再依靠内存加速,特点是容量大,成本低,性能上接近内存引擎,客户端请求响应时间大概是1ms。

        集群初始化时ConfigServer会根据DataServer的数量分配BucketID到DataServer上,这层映射关系就是数据路由索引,BucketID属于[0-1023]的范围内。客户端第一次启动时会从ConfigServer上拉取映射关系,之后的读写请求,根据全局约定的Hash算法(例如MurmurHash(key)24)计算出BucketID,根据映射关系描述向指定的DataServer上发送请求。

        ConfigServer上的路由信息会根据DataServer存活状况动态修改更新;新结果再告知给DataServer;当DataServer处理客户端响应时,将变更通知给客户端。

技术分享

图1 路由路径

从TAIR到OCS

        云服务化的过程中,首要问题是满足用户的兼容性需求,用户访问接口上支持广泛流行的Memcached接口,原生于Memcached的应用,可以无缝迁移到OCS上来。

        其次是稳定性,集群升级时,由于进程重启会造成应用请求OCS瞬间报错,OCS实现了一套热升级方案,在保持TCP链接不中断的情况下重启进程。

        云服务还有一个重要特性就是多租户,多租户的情况下,为了防止某一两个用户的高并发访问造成集群负载上升,从而影响了其他租户的稳定性。OCS内部对不同的租户进行了资源隔离,针对请求量、带宽、内存使用量做了严格的限制。不同规格的用户可以购买不同规格的OCS实例,之间不会互相干扰。

        与OCS相比,自建的Memcached解决了单机容量上线问题,实现扩容自动化且不需要修改客户端配置,同时输出了性能监控指标,网页版Console命令等。

 

缓存失效一致性问题

        一般缓存的使用方式是:先读取缓存,若不存在则从DB中读取,并将结果写入到缓存中;下次数据读取时便可以直接从缓存中获取数据。

        数据的修改是直接失效缓存数据,再修改DB内容,避免DB修改成功,但由于网络或者其他问题导致缓存数据没有清理,造成了脏数据。

 

但这样仍然无法避免脏数据的产生,一种并发的场景下:假设业务对数据Key:Hello Value:World有大量的读取和修改请求。线程A向OCS读取Key:Hello,得到Not Found结果,开始向DB请求数据,得到数据Key:Hello Value:World;接下来准备向OCS写入此条数据,但在写入OCS前(网络,CPU都等可能导致A线程处理速度降低)另一B线程请求修改数据Key:Hello Value:OCS,首先执行失效缓存动作(因为B线程并不知道是否有此条数据,因此直接执行失效操作),OCS成功处理了失效请求。转回到A线程继续执行写入OCS,将Key:Hello Value:World写入到缓存中,A线程任务结束;B线程也成功修改了DB数据内容为Key:Hello Value:OCS。

技术分享

图2 并发时序

此时OCS中的数据为Key:Hello Value:World;DB中的数据为Key:Hello Value:OCS,出现缓存脏数据!

 

为了解决这个问题,OCS扩充了Memcached协议(公有云即将支持),增加了deleteAndIncVersion接口。此接口并不会真的删除数据,而是给数据打了标签,表明已失效状态,并且增加数据版本号;如果数据不存在则写入NULL,同时也生成随机数据版本号。OCS写入支持原子对比版本号:假设传入的版本号与OCS保存的数据版本号一致或者原数据不存在,则准许写入,否则拒绝修改。

回到刚才的场景上:线程A向OCS读取Key:Hello,得到Not Found结果,开始向DB请求数据,得到数据Key:Hello Value:World;接下来准备向OCS写入此条数据,版本号信息默认为1;在A写入OCS前另一个B线程发起了动作修改数据Key:Hello Value:OCS,首先执行删除缓存动作,OCS顺利处理了deleteAndIncVersion请求,生成了随机版本号12345(约定大于1000)。转回到A线程继续执行写入OCS,请求将Key:Hello Value:World写入,此时缓存系统发现传入的版本号信息不匹配(1 != 12345),写入失败,A线程任务结束;B线程也成功修改了DB数据内容为Key:Hello Value:OCS。

此时OCS中的数据为Key:Hello Value:NULL Version:12345;DB中的数据为Key:Hello Value:OCS,后续读任务时会再次尝试将DB中的数据写入到OCS中。

类似的并发场景还有很多,读者可以自行推演,同时也可以思考下为何约定随机生成的版本要大于1000?

 

缓存数据的同步的一致性问题

        随着网站规模增长和可靠性的提升,会面临多IDC的部署,每个IDC都有一套独立的DB和缓存系统,这时缓存一致性又成了突出的问题。

        首先缓存系统为了保证高效率,会杜绝磁盘IO,哪怕是写BINLOG;当然缓存系统为了性能可以只同步删除,不同步写入,那么缓存的同步一般会优先于DB同步到达(毕竟缓存系统的效率要高得多),那么就会出现缓存中无数据,DB中是旧数据的场景。此时,有业务请求数据,读取缓存Not Found,从DB读取并加载到缓存中的仍然是旧数据,DB数据同步到达时也只更新了DB,缓存脏数据无法被清除。

技术分享

图3 并发时序

        从上面的情况可以看出,不一致的根本原因是异构系统之间无法协同同步,不能保证DB数据先同步,缓存数据后同步。所以就要考虑缓存系统如何等待DB同步,或者能否做到两者共用一套同步机制?缓存同步也依赖DB BINLOG是一个可行的方案。

        IDC1中的DB,通过BINLOG同步给IDC2中的DB,此时IDC2-DB数据修改也会产生自身的BINLOG,缓存的数据同步就可以通过IDC2-DB BINLOG进行。缓存同步模块分析BINLOG后,失效相应的缓存Key,同步从并行改为串行,保证了先后顺序。

        这样,IDC间的数据同步架构更加简单清晰,系统服用率高,做好BINLOG同步和抓取即可。

技术分享

图4 异地同步

总结

不同系统之间的数据同步一直是一个世界性的问题,目前仍然没有方法解除CAP魔咒,只能根据实际的情况在三者之间寻找理想的平衡点。本文介绍的解决方案,其一是利用了缓存系统的原子操作,其二是利用了外部系统同步机制保证先后,都是在牺牲最小的性能代价时获取最大的一致性保证,但仍然无法覆盖全部场景下的一致性问题。

 

阿里云分布式缓存OCS与DB之间的数据一致性

标签:

热心网友 时间:2022-04-30 06:21

ECS:ECS是云服务器, 本质就是一个服务器。运行在云上的一个服务器。主要作用是做运算的,跑各种程序的。

RDS:RDS是云数据库,专业的SQL服务器。用得到MYSQL的非常推荐使用,可以规避ECS装MYSQL遇到的各种问题。

OSS:OSS是对象存储,专业的文件存储服务,推荐文件量大的场景使用,普通小站可用可不用。(不过阿里云现在有5G免费资源。可以用来代替CDN使用,省钱。) 

SLB:SLB是负载均衡,均衡负载 价格高,不适合中小站。

扩展资料:

云服务器常用命令

arch 显示机器的处理器架构(1)

uname -m 显示机器的处理器架构(2)

uname -r 显示正在使用的内核版本

dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)

hdparm -i /dev/hda 罗列一个磁盘的架构特性

hdparm -tT /dev/sda 在磁盘上执行测试性读取操作

cat /proc/cpuinfo 显示CPU info的信息

cat /proc/interrupts 显示中断

cat /proc/meminfo 校验内存使用

cat /proc/swaps 显示哪些swap被使用

cat /proc/version 显示内核的版本

cat /proc/net/dev 显示网络适配器及统计

cat /proc/mounts 显示已加载的文件系统

lspci -tv 罗列 PCI 设备

lsusb -tv 显示 USB 设备

date 显示系统日期

热心网友 时间:2022-04-30 07:39

ECS是云服务器
RDS是云数据库
OSS是对象存储
SLB是负载均衡

热心网友 时间:2022-04-30 09:14

去阿里云官方网站去看,或者去阿里云官方论坛去聊聊,多看自然能看出写眉目
如果你刚开始建设论坛,只需要买ECS就行。ECS就是云服务器,可以简单理解为咱普通用的服务器。SLB是负载均衡,购买两台阿里云服务器就可以免费开启,是用来应对大流量。OSS是静态存储, 专门用来存放静态文件。OCS是开放式缓存,是大数据请求下,将重复计算的的数据放在缓存中。

热心网友 时间:2022-04-30 11:22

ecs是云服务器。

如果是需要中等配置,请看网页链接的内容,之前回答别人问题提到的。

如果是需要入门配置,请看网页链接的内容,也是回答别人的时候说出来的。

RDS是云数据库

OSS是对象存储

SLB是负载均衡

一般来说ECS都是基本的必须有。然后按需再去选择那几个。

我们平时常用的是 ECS、CDN加速这两个。如果要动静分离就需要 OSS 对象存储,数据库分离就用 RDS,流量大起来之后,需要使用 SLB。

如果不懂请追问吧,在线看到了就回复了哦

热心网友 时间:2022-04-30 13:46

ECS:
阿里云云服务器 (ECS) 是一种在线云计算服务,提供可靠、可扩展和按需求而定的分布式云计算能力。ECS基于高端 Intel CPU,具有强大的计算性能,助您更快速获得计算结果。
RDS:
阿里云云数据库RDS版是一种安全可靠、伸缩灵活的按需云数据库服务。阿里云云数据库RDS版的部署方便快捷,具有自动上线和伸缩功能,让您可以根据应用的实时需求扩展或缩小数据库。阿里云云数据库RDS版是一种高度可用的托管服务,具有自动监控、备份及容灾功能,可将您从耗时的数据库管理任务中解放出来,让您有更多时间专注于您的应用和业务。阿里云云数据库RDS版数据库托管服务提供两种数据库引擎:MySQL、SQL Server及PostgreSQL。
OSS:
阿里云对象存储服务 (OSS) 是一种高度可伸缩且安全可靠的云对象存储服务,让您可以存储、备份和归档大量数据。阿里云 OSS 是一种简单易用的服务,让您每秒能处理数百万请求,它还支持大数据、科学与财务分析以及媒体应用。
SLB:

对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生的第一次要不要留给结婚的人——最中肯的建议 【看完秒懂】ARM 软中断指令SWI ...版4.0都没有在别人手机QQ里显示正在使用 [QQ for wp系统的手机上QQ在电脑是显示什么的? 为什么QQ不会显示WP8在线! WP8有没有手机QQ专属图标 qq for wp是什么? QQ for WP 电脑版能显示吗?如果有能加下好友看看嘛? ...和内电阻,实验室提供的实验器材如下:A.待测的干电池(电动势约... ...电动势和内阻,实验室准备了下列器材:A.待测干电池E(电动势约为1.5... 氧气泵不出气放到鱼缸底部就不出气泡 刚买的鱼缸氧气泵出声音不出氧气怎么回事? 氧气泵不出器 氧气泵进水怎么修 氧气泵只震动不出气怎么解决啊,求高手赐教 鱼缸加氧泵不出气泡,但是出水他俩充氧一样吗 鱼氧气管不出气是什么原因 氧气泵不出气怎么回事 鱼缸的氧气泵不出氧气了怎么办,还是有抽水但就是... 微信加人次数什么时候刷新? 快手关注的人通过微信小程序添加的什么意思? 微信小程序qq农场怎么加好友,爱心值怎么得 微信上出了个小程序,就不能加人了,这该咋办? 微信小程序第七装甲师怎么加好友 微信有没有一键加人之类的小程序 赛默medifuge离心机是国产的吗 赛默飞世尔(苏州)仪器有限公司怎么样? 赛默飞世尔科技(中国)有限公司北京分公司怎么样? 苏州赛默飞世尔是做什么的? 赛默飞世尔科技(中国)有限公司西安分公司怎么样? 阿里云ECS属于哪种云服务? 阿里云服务器ECS跟云虚拟主机有什么区别? 网贷逾期后,如果一直不还款的话,会怎么样? 阿里云服务器ECS和VPS主机的区别在哪里 除了建网站,阿里云服务器ECS适合做什么用途 如何选择阿里云云服务器ECS操作系统 阿里云服务器购买ecs是什么意思 “阿里云”ECS服务器怎么设置IP白名单? 阿里云服务器ECS跟云虚拟主机那个好些?都有什么区... 阿里的ECS有什么用? 阿里云服务器ECS实用系列I和系列 II有什么区别 日程用英语怎么说 日程安排表的英文怎么读? 日程表,用英语怎么说 日程表的英文是什么 日程的英文 日程表用英语怎么说 会议日程 英文怎么讲 行程安排用英语怎么说? 行程安排用英语怎么说