Chinaunix

标题: 话题讨论:大规模高并发下的分布式存储架构设计 [打印本页]

作者: cynthia    时间: 2019-05-10 13:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: jasonhsp    时间: 2019-05-13 14:32
  分布式存储系统的高并发能力应如何实现?
并发(不是并行!)模型的选择和设计无法作为实现细节隐藏在局部,它会影响到程序代码的各个部分,从底层到上层。基本的并发模型只有这样几种:事件驱动、多线程、多进程以及较为小众的多协程.
作者: markriver    时间: 2019-05-13 15:16
真正可靠的数据保护往往需要一套复杂的策略,实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能
1、负载均衡、2.系统容灾、3.安全交换、4、数据同步
作者: llittle    时间: 2019-05-13 15:24
分布式文件系统设计主要关注几个方面:
设计特点、分布式能力、性能、容灾、维护和扩展、成本
分布式文件系统主要关键技术:
全局名字空间、缓存一致性、安全性、可用性、可扩展性
其他关键技术:
文件系统的快照和备份技术、热点文件处理技术、元数据集群的负载平衡技术、分布式文件系统的日志技术
作者: dapan    时间: 2019-05-13 15:41
使存储系统获得更高网络带宽的方法有哪些?
1.用阵列,组成阵列的存储器,访问带宽成倍上升,代价是要多个存储器和供电不断.一断电就阵列全掉了,数据丢失后果.
2.采用高缓存了硬盘,IDE接口最高2M缓存.SATA接口最高32M缓存.
3.用SSD,固态硬盘,每秒读取速度是190-250M/秒,意未着拷贝1G电影,4秒搞定.80G容量要1750元左右
作者: shang2010    时间: 2019-05-13 18:40
80G容量要1750元左右,不便宜啊
作者: cynthia    时间: 2019-05-14 09:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: laputa73    时间: 2019-05-14 13:34
1、  为了使分布式存储系统获得更高性能,您会采用哪些措施?
万兆网络,ssd

2、  分布式存储系统的高并发能力应如何实现?
无中心或者master/data分离

3、  使存储系统获得更高网络带宽的方法有哪些?
万兆网卡,捆绑端口,光纤卡,光纤交换机。

4、  怎样在控制总体成本的情况下,合理地为海量数据提供存储空间,并能满足数据量快速增长的需求?
横向可扩展,可以增加存储服务节点
纵向可扩展,服务器的存储槽位具备扩展性。

5、  真正可靠的数据保护往往需要一套复杂的策略,实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能?
分片复制,机架感知,跨dc同步,离线备份

6、  海量非结构化场景下,应用类型、数据类型复杂,为获得高效便捷的数据管理功能,需要在哪些方面做好准备?
面向混合数据类型,选择合适的集群方案。
大文件还是中小文件分别应对。文件还是对象分别处理。
传统CDN方案对于文件存储已经很成熟了。
如果是数据,有计算需求,则需要考虑HDFS等大数据方案。

7、  针对海量非结构化数据场景,您认为分布式存储系统的设计与建设还应关注什么?如何实现?(可选回答)
不要盲目上。先试点再推广。
运维难度大于建设难度。
机房的供电很重要。
自建还是云服务,需要考虑好。

作者: fenyun689    时间: 2019-05-14 16:39
1、  为了使分布式存储系统获得更高性能,您会采用哪些措施?
增加带宽,提高存储速度。

3、  使存储系统获得更高网络带宽的方法有哪些?
万兆网卡,光纤交换机。

就知道这些了。

作者: forgaoqiang    时间: 2019-05-14 23:42
感兴趣 想要T恤 ~ 占位更新
作者: cynthia    时间: 2019-05-15 09:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: yanengineers    时间: 2019-05-15 22:04
使存储系统获得更高网络带宽的方法有哪些?
这难道不是减少服务器和存储系统的中间介质,能用一米光纤不用10米,另外选择超高速交换机哈 ,个人见解 欢迎交流!
作者: yanengineers    时间: 2019-05-15 22:04
使存储系统获得更高网络带宽的方法有哪些?
这难道不是减少服务器和存储系统的中间介质,能用一米光纤不用10米,另外选择超高速交换机哈 ,个人见解 欢迎交流!
作者: friendmine    时间: 2019-05-15 23:32
1、  为了使分布式存储系统获得更高性能,您会采用哪些措施?
首先是硬件:高性能服务器,SSD, 光纤通信。
其次软件:读写服务器要做好热数据处理。
最后:核心Master服务器要双机或者无中心。

2、  分布式存储系统的高并发能力应如何实现?网络性能优化,程序异步化,数据缓存化。

3、  使存储系统获得更高网络带宽的方法有哪些?
硬件上光纤光交换。
软件就是能异步处理就异步处理。

4、  怎样在控制总体成本的情况下,合理地为海量数据提供存储空间,并能满足数据量快速增长的需求?冷热数据分级,热数据放在缓存中。其次放SSD, 再次放机械硬盘。

5、  真正可靠的数据保护往往需要一套复杂的策略,实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能?
硬件上:做好硬件的Raid,同时确保每份数据不要单独存放。如果可能要多区存放。
软件上:主要还是数据存取的路由算法。保证数据能够多区多机存放。

6、  海量非结构化场景下,应用类型、数据类型复杂,为获得高效便捷的数据管理功能,需要在哪些方面做好准备?
做好数据索引是最重要的。

7、  针对海量非结构化数据场景,您认为分布式存储系统的设计与建设还应关注什么?如何实现?

良好的运维系统也是核心的一部分。


作者: shang2010    时间: 2019-05-16 20:28
回复 2# jasonhsp

目前技术行业主流的观点,并发就是短时间高访问量大吞吐的业务场景。学术界学校的并发就是几个进程通信问题,深入一点会死锁。跟社会上不一样


我认为根据题目这边,应该是讨论高访问量场景下,分布式存储架构的抗压问题
是吧。。

作者: shang2010    时间: 2019-05-16 20:29
回复 10# forgaoqiang

夏天来了,哈哈
作者: coyan    时间: 2019-05-17 15:04
分布式存储系统的高并发能力应如何实现?
从可靠性、易用性和性能三个维度着手分析。
可靠性:是存储系统的基石,一款存储系统至少需要提供99.99%的数据可靠性,数据丢失或者错乱对于存储系统是致命的,对大数据、云存储这样大规模的分布式集群
易用性:是系统管理员最关心的问题,主要体现产品设计、故障处理和系统的扩展性
性能:如果可靠性是存储系统的基石,那么性能是存储系统的灵魂,对一款优秀存储系统,高可靠与高性能缺一不可
作者: oswald    时间: 2019-05-17 15:28
分布式存储系统的高并发能力应如何实现?
数据库拆分要根据业务现状、模式,选择合适的拆分方式,紧密结合业务及应用架构设计,谨慎拆分,防止过度设计。
数据库分布式改造要遵循“循序渐进”的拆分原则
拆分方式有垂直拆分和水平拆分两种,选择拆分方式要根据企业自身业务发展需要。
作者: else    时间: 2019-05-17 15:46

高并发其实挺容易的,当你明白了一万并发的原理,然后扩展到百万、千万、亿万级很easy
要点有如下几项:
1、垂直分层:DNS层、跨机房部署、LVS+Nginx负载均衡,vanish+共享存储实现动静分离,Nginx后挂载N台服务器集群,服务器集群后挂载微服务化、微服务后挂载数据库分库分表+消息队列+任务调度,最后端挂载数据集群负责数据的统一归档+流计算+异步批处理
2、水平分区:根据业务划分业务线,每个业务线中设计分区键,根据userNo设计用户隔离,根据IP地址设计地区隔离,根据用户级别设计级别隔离,根据操作日期设计时间隔离,根据关键key进行hash散列,然后考虑一下分区的扩容、缩容、灾备、监控
3、数据同步,跨机房跨集群的困难点在于数据同步
作者: sbzyg    时间: 2019-05-17 16:20
使存储系统获得更高网络带宽的方法有哪些?
通俗的说,“把数据保存好,并且能读出来”是一个存储系统的基本能力。从产品特性的角度上讲,存储系统还可以有很多其他的丰富的特性,例如重复数据删除,数据多版本,数据快照,数据备份,数据灾备等。
作者: daifan    时间: 2019-05-17 16:58
什么是传统存储
我们一般将传统存储成为物理存储,比如直连存储(个人电脑)、存储域网络(SAN)、网络附加存储(NAS)。他主要用于存储数据,也作为一种灾难管理的方式。在传统存储中,我们使用LAN / WAN将数据存储在计算机或与我们的计算机连接的服务器中。数据信息存储在磁盘中,可以在需要时重新格式化或重新配置,也可以增加磁盘数量以扩大存储限制。
什么是分布式存储
简单来说,就是存储设备分布在不同的地理位置,数据就近存储,将数据分散在多个存储节点上,各个节点通过网络相连,对这些节点的资源进行统一的管理,从而大大缓解带宽压力,同时也解决了传统的本地文件系统在文件大小、文件数量等方面的限制。
作者: zhmw    时间: 2019-05-17 17:59
希望DTCC越办越好,希望我可以抽到礼品。
作者: danny_2018    时间: 2019-05-17 18:02
采用分布式存储系统,最重要的是可靠性!
作者: aloki    时间: 2019-05-20 00:08
1、为了使分布式存储系统获得更高性能,您会采用哪些措施?
为了使分布式存储系统获得更高性能,需要从硬件和软件两个方面来考量。硬件方面当然是采用性能越优的越好,软件方面则要根据业务逻辑采用合适的分布式协议。

2、分布式存储系统的高并发能力应如何实现?
说起来很简单,就是“分”。如何“分”,简单的说就是把不同的业务分拆到不同的服务器上去跑(垂直拆分),相同的业务压力分拆到不同的服务器去跑(水平拆分),并时刻不要忘记备份、扩展、意外处理等讨厌的问题。说起来都比较简单,但设计和实现起来,就会比较困难。

3、使存储系统获得更高网络带宽的方法有哪些?
由于不同业务系统对存储的性能要求不同,一般小文件(小于1MB)读写型的系统中对IO的要求较高,大文件的读写型系统对存储设备带宽的要求比较高。不用应用模式下系统对存储设备的要求不同,瓶颈点出现的位置和特点也不一样。带宽与所配置的磁盘个数也有一定关系,一般会通过增加磁盘数量、增加扩展柜数量、跨扩展柜创建RAID组、增加主机通道数量等方式最大限度地利用存储控制器前端和后端的总可用带宽,使得磁盘、磁盘通道、主机通道等的总带宽大于控制器的总带宽,这样在工作站访问时存储设备时,才能最大地发挥出控制器的带宽性能。

4、怎样在控制总体成本的情况下,合理地为海量数据提供存储空间,并能满足数据量快速增长的需求?
鱼与熊掌不可兼得,既要合理又要满足快速增长需求,还要控制总成本,如果有这样的方案的话,估计会很受欢迎。

5、真正可靠的数据保护往往需要一套复杂的策略,实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能?
一般使用多幅本技术来提高存储系统的可靠性,也就是数据需要有冗余,比较经典的做法是 3 副本,并且在磁盘损坏时及早修复丢失的数据,以避免所有的副本损坏造成数据丢失。

6、海量非结构化场景下,应用类型、数据类型复杂,为获得高效便捷的数据管理功能,需要在哪些方面做好准备?
从业务层面出发,考虑实际的需求。比如你所处的企业如果数据量很大,则需要在IT架构上做准备,考虑包括数据是怎么收集的、从哪里收集、如何与其他数据进行匹配等问题。而在操作过程中,则可以首先尝试一些开源的工具进行小范围测试,做一些基本了解,然后再找相关的专家仔细进行评估。

7、针对海量非结构化数据场景,您认为分布式存储系统的设计与建设还应关注什么?如何实现?(可选回答)
1)数据的分布方式
·hash分布
·按数据范围分布
·按数据量分布
·一致性哈希

2)副本的保存方式
·以机器为单位
·以数据段为单位

3)副本的控制
·中心化的副本控制
·去中心化,个副本之间没有中心控制

4)节点状态监控
·heartbeat
·lease机制
作者: xdsnet    时间: 2019-05-20 09:22
1、 为了使分布式存储系统获得更高性能,您会采用哪些措施?
其实分布式存储和分布式数据库类似,获得更高的性能需要尽量消除单点瓶颈,这些瓶颈是由于单点IO性能上限带来的,一般合理的方案也就和分布式数据库类似,进行合理的文件分库,分库的方案很多,简单的基于文件名分库,或者根据其他特征值分库,从而尽量的把文件内容均匀的进行分布部署,以尽量减少单点瓶颈影响。在这个过程中还需要注意因为分库带来的管理复杂度增加产生的新问题。

2、分布式存储系统的高并发能力应如何实现?
其实这个问题和上面的问题也是相关联的,高并发在排除了网络本身限制后,就体现在IO数据读写限制上,提升无非两个途径,尽量提高单机IO性能和尽量把IO分布开。其中提升单机IO性能就是拼硬件,而尽量把IO分布开就是拼算法,这个要和分库结合起来实施。

3、使存储系统获得更高网络带宽的方法有哪些?
对主干网络,这个没有其他方法,只能随着技术的发展,尽量提高硬件性能,对于节点来说可以采用多口绑定的形式提高单个节点的带宽到超过单个网口性能极限的层度,但这样的技术也不是随时都是那么好用。

4、  怎样在控制总体成本的情况下,合理地为海量数据提供存储空间,并能满足数据量快速增长的需求?
这个其实没有什么统一的方法,可能最多有一些原则性的东西,比如核心网络组件的可用性、稳定性考虑以及对未来预期的处理,尽量变为可横向扩展的,以满足今后的扩充。对存储节点的添加也是类似,考虑为能方便的进行横向扩展(分库机制的合理设计)

5、  真正可靠的数据保护往往需要一套复杂的策略,实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能?
这个其实不同的系统有不同的命名(术语)体系,大致的功能为:
对 主控服务来说,有 命名空间的维护、数据服务器(节点、结点)管理、服务调度、主备(主)容灾 等等功能
对 数据服务器(结点、节点)来说,有 数据本地存储、状态维护、副本管理 等等
对 客户端来说,有 接口、缓存 等等

6、  海量非结构化场景下,应用类型、数据类型复杂,为获得高效便捷的数据管理功能,需要在哪些方面做好准备?
其实尽量的结构化数据就是一种有效的策略,这个可以分类进行,虽然全库是呈现非结构化、异构化的,但对具体的数据应用来说,可以是结构化的。这样对具体应用来说数据管理就更便捷。当然,这个也是需要分层进行,对关键、常用任务进行类似处理准备,对偶发的则不一定。

7、  针对海量非结构化数据场景,您认为分布式存储系统的设计与建设还应关注什么?如何实现?(可选回答)
我觉得分库调度算法的研究和建设还是重点,具体的实现还依据相应研究实施。
作者: winnie324    时间: 2019-05-20 10:38
海量非结构化场景下,应用类型、数据类型复杂,为获得高效便捷的数据管理功能,需要在哪些方面做好准备?
工具是最重要的。虽然市面上各种管理软件很多,但往往有其侧重点和应用领域,无法自如地管理各种数据信息——除了Excel,但Excel也有它的缺点,它毕竟不是一个管理系统。好在,近来发现了一个好东东,叫蓝点通用管理系统,它可以由用户方便地自定义数据管理功能,灵活而不失简约,堪称数据管理的神器。实际上,它还不止数据管理的应用,自定义工作流也是它的强项。
作者: suliver    时间: 2019-05-20 10:53
实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能?
数据容灾快照技术可保留1000个历史时间点,连续数据保护技术可记录一段时间内的所有IO变化,提供任意个时间点的历史数据。在病毒感染、逻辑错误,数据丢失等等情况发生的时候,可以使用飞康的历史数据将数据恢复到前一个快照、前一秒、甚至灾难发生前一个IO的状态!图形化界面提供保证数据分析与快速恢复,做到数据接近零丢失。飞康CDP,NSS和FreeStor都包含了相同的连续数据保护和容灾技术,这项技术提供了全面的保护功能,如镜像、快照、录像、远程复制,及自动化容灾与双活,卓越地将文件、数据库和计算环境实现实时备份与瞬间恢复;提供了随时随地不影响生产与容灾系统正常运行的容灾演练能力;并且使本地数据备份、生产存储单点保护、异地数据容灾与双活,三大功能全面整合。无论异构环境中的业务和系统平台如何复杂,均可轻松实现最高水平的数据保护和容灾,保证业务的高可用性。

作者: sunoct    时间: 2019-05-20 11:04
近些年分布式系统领域都在做些什么?
作者: tonnyluo    时间: 2019-05-20 11:16
实现多级数据保护与容灾.如何让容灾系统发挥最大作用?
初期投资的项目实施只是容灾的开始阶段,想要让容灾系统真正发挥作用,不断的演练、检验、优化和扩展升级都是必须的

作者: xduu    时间: 2019-05-20 11:27
实现多级数据保护与容灾,这需要分布式存储系统具备哪些功能?
容灾基本上分业务层容灾1,负载均衡层面做到的7层或4层容灾。2,数据存储层面做到的 google spanner , casandra等3,基于分布式系统集群实现的业务模块分离多云多机房冷热容灾.比如利用k8s,mesos实现的跨云dcos构建。4,通过中间件RPC + 单独网络通道实现的热热容灾(多机房,混合云,多个公有云)

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



作者: wengwb    时间: 2019-05-20 11:56
本帖最后由 wengwb 于 2019-05-20 12:17 编辑

分布式存储系统的设计与建设还应关注什么?如何实现?
分布式存储系统可以理解为多台单机存储系统的各司其职、协同合作,统一的对外提供存储的服务。所以无论是存储非结构化数据的分布式文件系统,存储结构化数据的分布式数据库,还是半结构化数据的分布式KV,在系统的设计上主要需要满足以下需求(但不仅限于):基本读写功能、性能、可扩展性、可靠性、可用性。
作者: cynthia    时间: 2019-05-20 13:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: yesye    时间: 2019-05-20 14:30
为了使分布式存储系统获得更高性能,您会采用哪些措施?
承载量是分布式系统存在的原因
当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙。当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了。因此,在互联网程序员解决服务器端问题的时候,必须要考虑如何使用多台服务器,为同一种互联网应用提供服务,这就是所谓“分布式系统”的来源。
作者: zuike2000    时间: 2019-05-20 15:08
容灾和备份到底是不是同一个概念?看过很多相关的文反而糊涂了,是不是高可用才是热备?
作者: yifanwu    时间: 2019-05-20 15:30
针对海量非结构化数据场景,您认为分布式存储系统的设计与建设还应关注什么?如何实现?
为了保证系统能够对机房级别的故障进行容错,不会使系统不可用,这就需要在机房级别对系统进行冗余处理。而这就需要在架构上进行良好的设计。来面对多机房场景下的技术挑战。事实上,异地多活最大的挑战在于机房之间的物理距离更远,数据传输的延迟已经不能忽略。在网络普遍延迟的情况下,如何根据业务特性设计高可用的性能达标的分布式系统,将是最大的挑战。

作者: ywbair    时间: 2019-05-20 15:50
数据存储服务如何同步?
作者: liangyh    时间: 2019-05-20 15:57
回复 37# zuike2000

备份是手段,容灾是目的。
高可用是指服务的可用率,例如99.99%的高可用性,意思是此服务出现问题的机率极低。一般是指系统的稳定性
而热备可以提高可用性,例如由90%提高到99%,在服务出问题时尽快恢复。
同上,热备是手段,高可用性是目的。
作者: TigerJin    时间: 2019-05-20 16:29
回复 39# ywbair

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


作者: post200    时间: 2019-05-20 16:44
分布式存储系统可靠性如何估算?
作者: lrb1120    时间: 2019-05-20 17:01
为什么我们努力提高网络带宽而不是去想办法压缩文件尤其是视频文件的大小呢?
作者: znsk07    时间: 2019-05-21 13:57
怎样在控制总体成本的情况下,合理地为海量数据提供存储空间,并能满足数据量快速增长的需求?
这个得看企业吧?
作者: sherrywong    时间: 2019-05-21 14:17
如何提升系统的并发能力之水平扩展
作者: daisyplay    时间: 2019-05-21 14:33
如何计算系统用户并发数,系统最大并发数?
作者: xzh1980    时间: 2019-05-21 14:49
开源分布式流存储Pravega前景怎么样?
作者: z_paul    时间: 2019-05-21 15:08
分布式存储按其存储接口分为三种:文件存储、块存储和对象存储?
作者: boss_ch    时间: 2019-05-21 15:27
高并发的分布式系统中订单流程是怎样的?订单与库存关系如何处理?
作者: albertdong    时间: 2019-05-21 15:49
中小企业如何进行高效数据管理?
作者: local0    时间: 2019-05-21 16:09
如何进行多云环境中的数据管理?
作者: blankrabbit    时间: 2019-05-21 16:25
关于高并发
数据同步,跨机房跨集群的困难点在于数据同步,有三种做法:
1)不同步,任由各子集群在自己的业务范围内运行
2)汇总集群,建立一个统一的数据汇总集群(如Hadoop\Spark\Kylin等),将数据汇总到统一的大数据集群中,再进行统计、汇总、运算等。缺点是会有时间差,短须5分钟,长须一天以上
3)远程数据同步,通过开源框架实现多个数据库的同步,例如阿里的otter,底层为canal,模拟mysql的从库,实现日志解析并数据库入库,时间差较短,如果网络没有太大问题,可在秒级完成数据同步。数据同步冲突算法有两种:单向回环补救、时间交集补救。一般推荐使用单向回环补救,即:如果发现数据库A与数据库B的同步时间差大于某个数值,则根据pk查询最新记录同步到数据库中。而另一种算法时间交集补救,是根据“时间交集”的定义,获得双方数据库的“时间交叉的操作”清单,然后根据此清单执行单向回环补救。此方法缺点为:a)开源版本中仅有单向回环补救;b)只支持mysql->mysql同步或者mysql->oracle同步。
作者: canoezhou    时间: 2019-05-21 16:45
什么是高并发?
作者: rockash    时间: 2019-05-21 17:02
高并发会来带什么样的后果?
作者: hxcai    时间: 2019-05-21 17:19
分布式存储系统的高并发能力应如何实现?
单台服务器最大并发
单台服务器最大并发问题,一般是指一台服务器能够支持多少TCP并发连接.
一种理论说法是受到端口号范围限制。操作系统上端口号 1024 以下是系统保留的,从 1024-65535 是用户使用的。由于每个TCP连接都要占一个端口号,所以最多可以有 60000 多个并发连接。
但实际上单机并发连接数肯定要受硬件资源(内存、网卡)、网络资源(带宽)的限制。特别是网卡处理数据的能力,它是最大并发的瓶颈。
C10K并发连接问题
C10K并发连接问题是指单机 1 万个并发连接问题。如何突破单机性能局限,是高性能网络编程所必须要直面的问题。
C10K问题本质上是操作系统的问题。对于 Web1.0/2.0 时代的操作系统而言, 传统的同步阻塞 I/O 模型都是一样的,处理的方式都是 requests per second,并发 10K 和 100 的区别关键在于CPU。
创建的进程线程多了,数据拷贝频繁(缓存I/O、内核将数据拷贝到用户进程空间、阻塞), 进程/线程上下文切换消耗大, 导致操作系统崩溃,这就是C10K问题的本质!
C10M并发连接问题
C10M 并发连接问题指的是单机服务器实现 C10M(即单机千万并发连接)。
作者: itlong    时间: 2019-05-21 17:41
ceph作为一个分布式文件系统,整体架构是怎么样的?
作者: aleaf2000    时间: 2019-05-21 17:59
什么分布式架构?分布式架构如何设计?分布式集群/系统如何设计?
作者: my420    时间: 2019-05-21 21:52
如何让容灾系统发挥最大作用?
作者: blazebird    时间: 2019-05-21 22:09
想要了解容灾备份需要了解哪方面信息?
作者: lzg215    时间: 2019-05-21 22:12
容灾和备份的区别
作者: renke    时间: 2019-05-21 22:57
如何解决本地IDC机房数据库容灾问题
作者: yangyi    时间: 2019-05-22 10:42
为什么不用存储过程来解决多条sql语句执行带来的网络延迟

作者: liuyulewis    时间: 2019-05-22 10:56
如何高效地将SQL数据映射到NoSQL存储系统中?
作者: iammin    时间: 2019-05-22 11:14
高并发实时储值消费系统应如何设计?
作者: blossom    时间: 2019-05-22 11:29

如何用 python 构建一个简单的分布式系统?
作者: hallujun    时间: 2019-05-22 11:43
如何理解erlang的分布式和并发?
作者: yyj    时间: 2019-05-22 12:42
如何在springcloud分布式系统中实现分布式锁?
作者: shixiaodan    时间: 2019-05-22 12:56
请问现在主流的关于系统的附件的存储信息表是如何设计的?是分散存储还是集中存储呢?
作者: aaronx    时间: 2019-05-22 13:28
怎么运行利用maven搭建的分布式系统
作者: zhuyg    时间: 2019-05-22 13:42
求关于分布式和并行计算 分布式算法和并行算法的关系
作者: danielliu    时间: 2019-05-22 13:58
如何存储数据两个有对应关系的数据?
作者: tomorrowcome    时间: 2019-05-22 14:14
分布式系统中如何进行权限校验比较好?
作者: hawkliu    时间: 2019-05-22 14:28
node.js 高并发如何缓存?
作者: samenzhou    时间: 2019-05-22 14:43
如何面对项目上线时的短时高并发对数据库的压力的问题
作者: maggiefengyu    时间: 2019-05-22 15:07
大型高并发网站的日志架构是什么样子?一般存储哪些数据?
作者: xlmxlmxlm    时间: 2019-05-22 15:21
TSQL 高并发情况下, 存储过程创建表结构,创建索引 会出的问题,以及存储过程返回值?
作者: lanneret    时间: 2019-05-22 15:42
Mongodb的文件系统适用于多大文件的存储
作者: airland    时间: 2019-05-22 15:56
集中式版本控制系统和分布式版本控制系统主要区别是啥?
作者: jxegg    时间: 2019-05-22 16:12
如何理解 Git 的分布式?
作者: KingSunSha    时间: 2019-05-22 16:26
为什么大部分NoSQL不提供分布式事务?
作者: standist    时间: 2019-05-22 16:42
web服务器怎么使用redis分步式缓存
作者: duanhao    时间: 2019-05-22 16:56
dubbo和spring cloud实现了负载均衡,为什么生产系统还要使用nginx呢?
作者: imaxwang    时间: 2019-05-22 17:15
分布式系统下的文件访问
java应用,上线时要布多个节点,但是需要访问一些数据,这些数据量一般都是几个G,一两个月更新到次,不适合放到数据库,目前的方式是window共享,但是经常碰到权限问题,而且也想让这种访问尽量平台无关,有没有什么轻量点的办法?
作者: qyqy0139    时间: 2019-05-22 17:36
怎么储存布尔值啊。布尔值的结果不是真或假吗
作者: HEDAODI    时间: 2019-05-22 17:52
怎么样理解数据在内存中的存储方式?
作者: holepun    时间: 2019-05-22 18:21
高并发实时储值消费系统应如何设计?
作者: cookye    时间: 2019-05-22 18:38
如何实现分布式websocket?
作者: freefancy    时间: 2019-05-22 18:53
分布式存储系统与数据库事务一致性的差异?
作者: samrain    时间: 2019-05-22 19:12
国内做分布式存储研发的公司有哪些?
作者: cartoonfish    时间: 2019-05-22 19:23
现在主流开源分布式系统架构都有哪些?
作者: minger    时间: 2019-05-22 19:38
有没有用Java写的轻量级开源的分布式存储系统?除了HDFS
作者: ilovelily    时间: 2019-05-23 10:17
WannaCry肆虐,数据保护和容灾产品如何为企业提供保护?
作者: huzhizhong    时间: 2019-05-23 10:36
为什么不用存储过程来解决多条sql语句执行带来的网络延迟
作者: touchfeeling    时间: 2019-05-23 10:51
针对存储容灾的快照技术属于CDP吗?
作者: lihui48    时间: 2019-05-23 11:06
能不能先学存储,线程,网络后学高级控件呢?
作者: castlight    时间: 2019-05-23 11:34
云存储的底层关键技术有哪些?
作者: websurf    时间: 2019-05-23 11:47
腾讯云的归档存储异地容灾能力强吗?
作者: hmjie    时间: 2019-05-23 12:02
如何在一分钟内实现微服务系统下的架构可视化
作者: silverhoof    时间: 2019-05-23 12:43
IaaS云平台中,分布式存储是如何运用的?
作者: tuba    时间: 2019-05-23 13:06
私有云分布式存储有哪些优点
作者: karson    时间: 2019-05-23 13:40
ZooKeeper可以作为分布式存储系统么?
作者: tris42    时间: 2019-05-23 13:56
块存储、文件存储、对象存储这三者的本质差别是什么?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2