几条原则谈谈存储系统开发

几条原则谈谈存储系统开发

作者:江松 2015-09-15 17:51:42

云计算 国内存储界现在是百花齐放,非常热闹。软件定义存储,云存储,超融合等各种创新企业也在各自领域快速的发展。我就据自己多年的存储开发经验,写几条原则,希望能抛砖引玉,让各位开发人员和架构师能进行更广泛的讨论。

国内存储界现在是百花齐放,非常热闹。软件定义存储,云存储,超融合等各种创新企业也在各自领域快速的发展。关于各方面的概念解释和技术分析很多,但是我感觉关于存储系统的开发方面,实践性的文章非常少。我就据自己多年的存储开发经验,写几条原则,希望能抛砖引玉,让各位开发人员和架构师能进行更广泛的讨论。

[[149147]]

1. 重视元数据的冗余安全。很多人说存储的稳定性是***位的,其实任何人为的系统都是有可能出错的,存储的数据安全性才是***位的。出错不可避免,宕机不可避免,任何软件都是有bug的,但是一定要避免出错后数据丢失,特别是元数据丢失,要把这个概率降到******。所以,设计元数据方案就像造飞机一样,要有2套以上的独立冗余方案。这个是架构师***个要考虑的问题。

2. 产品有定位,功能有取舍,要简单突出。存储的稳定性非常关键,复杂的东西很难稳定,除非不计成本。所以,我们首先要清楚产品的定位和市场应用,针对这个定位和市场应用来设计开发,其他的辅助功能一定建立在这个基础之上。如果一个产品开始设计的时候就考虑到了很多功能都要做到***,那么很有可能主要的架构设计复杂,影响稳定性,***影响最主要的功能点。所以,研发要对产品部门和销售部门的要求有取舍,并且一定要坚持,这个在设计中非常关键。

3. 抽象,抽象,再抽象。其实这个和上一条的简单原则有关系,抽象了,那么架构就会非常简单。模块之间的耦合度就低,这个其实是软件开发的共性。存储软件的基础架构其实是和协议,和OS,和硬件驱动都是无关的。如果相关了,那么这个架构一定出了问题。

4. 数据驱动,不是功能驱动。这个可以参考linux内核设计,内核负责功能机制,但是用户态负责数据驱动来做出各种应用。应用一定是和数据相关而不是和功能相关的,功能是非常共性的东西,由上层的数据来决定了具体的应用。

5. 我们能碰到的所有的问题都是别人解决过的问题,碰到架构或者其他方面的问题参考现有的linux内核架构,block/scsi中间层,各种协议,看看他们是如何解决的,参考这些业界标准基本不会出错。发明创造是科学家的工作,不是工程师的工作。

6. Debug系统做好了,产品就不会做不好。这个是软件开发的共性,不用多费笔墨。只是存储开发有两个问题debug起来非常难,一个是一致性问题,一个是性能问题。由于它的难度和全局影响性,这两个debug系统***要由系统架构师亲自设计甚至编写。

7. 适当打补丁,但是***要勇于承认架构有问题,要勇于重新来过,长痛不如短痛。真正稳定的软件是不会一版成功的。

【编者按】

向程序员致敬!

作者介绍:江松,Storwind创始人,具有超过16年的国内外企业级存储系统研发经验。Storwind专注于软件定义存储,相继研发和发布了LeadIO SSD缓存加速软件,IPSAN/NAS软件,商业级软RAID, 对象存储和云存储网关Cloudstation,获得了众多合作伙伴和客户的高度认可。

本文来源:微信公众号“乐生活与爱IT”
 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/268582.html<

(0)
管理的头像管理
上一篇2025-05-06 23:09
下一篇 2025-05-06 23:10

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注