免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: cynthia
打印 上一主题 下一主题

话题讨论:大规模高并发下的分布式存储架构设计 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2019-05-20 11:51 |只看该作者
分布式数据中心,两个类型,一个存数据,一个跑业务。不管是存数据的还是跑业务的,都会有一个站出来,充当指挥官的能力。管理整个数据中心的硬件&软件基础信息,共享的数据信息,协调各个数据中心的资源分配,调度。然后就是数据的存储,备份,容灾,等等。具体哪个是看各自的安排。但是我看到的资料是一般存数据的充当管理的角色,跑业务的就单纯跑业务。从硬件配置和网络带宽分配来看,存数据的没有跑业务的需求高。跑业务的需要实时在线,并发高,缓存需求大,不像存储的备份可以后台,分时,处理。别的不知道


论坛徽章:
0
32 [报告]
发表于 2019-05-20 11:56 |只看该作者
本帖最后由 wengwb 于 2019-05-20 12:17 编辑

分布式存储系统的设计与建设还应关注什么?如何实现?
分布式存储系统可以理解为多台单机存储系统的各司其职、协同合作,统一的对外提供存储的服务。所以无论是存储非结构化数据的分布式文件系统,存储结构化数据的分布式数据库,还是半结构化数据的分布式KV,在系统的设计上主要需要满足以下需求(但不仅限于):基本读写功能、性能、可扩展性、可靠性、可用性。

论坛徽章:
11
15-16赛季CBA联赛之同曦
日期:2019-04-10 11:46:5919周年集字徽章-19
日期:2019-08-19 11:00:0515-16赛季CBA联赛之浙江
日期:2019-08-05 14:38:42CU十四周年纪念徽章
日期:2019-07-26 10:49:5515-16赛季CBA联赛之山东
日期:2019-07-15 09:52:2015-16赛季CBA联赛之天津
日期:2019-07-11 10:24:54CU十四周年纪念徽章
日期:2019-07-03 15:06:5615-16赛季CBA联赛之北京
日期:2019-06-06 11:40:4715-16赛季CBA联赛之北控
日期:2019-05-17 10:41:1915-16赛季CBA联赛之上海
日期:2019-04-26 10:11:2315-16赛季CBA联赛之辽宁
日期:2019-08-20 09:56:07
33 [报告]
发表于 2019-05-20 13:54 |只看该作者
回复 23# zhmw

要记得回复问题哦

论坛徽章:
0
34 [报告]
发表于 2019-05-20 14:30 |只看该作者
为了使分布式存储系统获得更高性能,您会采用哪些措施?
承载量是分布式系统存在的原因
当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙。当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了。因此,在互联网程序员解决服务器端问题的时候,必须要考虑如何使用多台服务器,为同一种互联网应用提供服务,这就是所谓“分布式系统”的来源。

论坛徽章:
0
35 [报告]
发表于 2019-05-20 15:08 |只看该作者
容灾和备份到底是不是同一个概念?看过很多相关的文反而糊涂了,是不是高可用才是热备?

论坛徽章:
0
36 [报告]
发表于 2019-05-20 15:30 |只看该作者
针对海量非结构化数据场景,您认为分布式存储系统的设计与建设还应关注什么?如何实现?
为了保证系统能够对机房级别的故障进行容错,不会使系统不可用,这就需要在机房级别对系统进行冗余处理。而这就需要在架构上进行良好的设计。来面对多机房场景下的技术挑战。事实上,异地多活最大的挑战在于机房之间的物理距离更远,数据传输的延迟已经不能忽略。在网络普遍延迟的情况下,如何根据业务特性设计高可用的性能达标的分布式系统,将是最大的挑战。

论坛徽章:
0
37 [报告]
发表于 2019-05-20 15:50 |只看该作者
数据存储服务如何同步?

论坛徽章:
0
38 [报告]
发表于 2019-05-20 15:57 |只看该作者
回复 37# zuike2000

备份是手段,容灾是目的。
高可用是指服务的可用率,例如99.99%的高可用性,意思是此服务出现问题的机率极低。一般是指系统的稳定性
而热备可以提高可用性,例如由90%提高到99%,在服务出问题时尽快恢复。
同上,热备是手段,高可用性是目的。

论坛徽章:
0
39 [报告]
发表于 2019-05-20 16:29 |只看该作者
回复 39# ywbair

对于数据存储问题是网络延迟造成最大影响的地方。在常见的解决方案中有多机房单集群,和多机房多集群部署两种.数据的同步可以分为,数据库,缓存,消息队列,session等。在多机房单集群中如何部署? 及整个系统中存储服务是唯一的一个集群,只有一个master节点.做读写分离设计,所有机房上的服务只能向数据存储集群上的master节点提交写请求,而在读数据时向自己机房上的salve节点提交请求。数据的同步委托给基础组件完成,可以利用数据本身的数据同步方案,但通常无法结合业务特性进行优化提高性能,redis 本身的数据同步在master同步salve时会导致salve不可用,mysql自身的同步方案性能和稳定性都比较差。这时需要团队亲自制定化数据同步组件。来保证多个机房上的数据全量同步。还可以基于消息队列来实现数据同步,但这会导致额外的带宽占用,更可以搭建专用网络线路解决。无论任何的同步方式,在业务端需要对访问数据库的客户端进行重构使其能够支持读写分离。并且为了防止网络延迟,我们可以在客户端做很多事情,第一,双写:多个机房下允许出现多个Master,那么客户端进行封装在底层将写请求发送给多个Master上。第二:双读或回源读,当读取本机房数据没有读到时,去主机房读取或者根据用户请求解析出数据源在哪个机房然后去读取

论坛徽章:
0
40 [报告]
发表于 2019-05-20 16:44 |只看该作者
分布式存储系统可靠性如何估算?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP