基础软件照搬开源不可取,自力更生才是正途

Posted beyondma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础软件照搬开源不可取,自力更生才是正途相关的知识,希望对你有一定的参考价值。

最近有关开源软件的话题始终牢牢占据着IT界的新闻头条,Log4j开源软件的惊天漏洞、Fake.js的作者也惊天删库跑路了,CurL的作者怒怼苹果只会白嫖开源却不出力,Linux的祖师爷Linus也不知所云地在Github为Windows XP加油打Call。

中国开源虽然繁荣,但背后隐患不少

十年前业界普遍认为“代码正在吞没世界”,现在IT界普遍认为“互联网世界的一切源自开源”,而来自中国的程序员们正在通过开源,让全世界开始学习中国话。2019年一个老外发了一条名为“中国的开源项目正在破坏 GitHub 的发现页面”的博客,吐槽中文项目已经占领了GitHub 的趋势排行榜,排名前10 项目中居然有 9 个中文项目,这样火爆的场面恰恰是近来年来中国开源项目发展的一个侧影。目前,在全球最大的开源社区GitHub中,中国开发者在数量与贡献度上均位列第二。尤其是2019年的新注册用户中40%来自中国,他们中90后的年轻人居多,完全出于兴趣与实现自我价值参与开源项目。可以说中国开源正在迎来自己的黄金时代,一股来自中国的开源力量席卷全球。

但是包括笔者在内的很多业界同仁都认为这种繁荣有相当一部分是虚假的,在这看似一片繁荣的景象背后,也有不少的水分,所谓“国外一开源,国内就自主”,目前中国的开源事业蓬勃发展的背后往往采用的是照搬、照抄的模式,这也为开源项目尤其是基础软件方面的开源项目在国内的发展埋下了巨大隐患。

照搬开源有风险,基础软件照搬开源不可取

去年我国某电子书厂商拒绝开源其基于Linux 内核修改的设备源码,而这一做法明显违反了Linux的GPL协议。因此在Reddit社区引发了开源软件如何在中国维权的大讨论。

这次风波虽然只是个别厂商的行为,却也明显带有了中国的地域性色彩,毕竟好事不出门,坏事传千里,即使我们开源了很多如RocketMQ之类的项目,也无法对冲不遵守开源规则所带来的恶劣影响。

另外值得观察的是在IT基础软件领域,国外开源厂商的所谓断供操作,也时有发生,值得我们警惕。我们看到同样是在去年6月知名的开源云服务提供商HashiCorp在官网宣布:不允许中国境内使用、部署和安装该企业旗下的“企业版”产品和软件。

 

虽然最后确定这只是一起乌龙事件,被限制使用的仅限于HashiCorp的加密软件。不过这一事件开了一个比较坏的头,因为基础软件方面的开源项目一旦实施替换成本非常大。标志着开源也有走向限制、封锁的可能,而且目前俄罗斯、克里米亚、伊朗的GitHub用户的账号,也都遭到了网站官方的限制。所以我们这种照搬式的开源,只知其然却不知其所以然的模式,未来也可能会面临断供的风险。

基础软件照搬开源还不好用

照抄式开源不但有断供风险,实际使用体验也不好,拿基础软件中的开源分布式存储方案来说,目前我国厂商日常用的大概就是Ceph了但是基于Ceph衍生出来的各种存储方案,其用户体验差得令人不可思议

1.不稳定

在使用存储方案时,用户最害怕见到的场景就是存储由于各种原因性能下降,最终造成整个系统的雪崩。Ceph原版开源方案在节点切换、节点重启与数据备份三个在日常工作中经常会遇到的场景下表现都不算太好。

比如开源版Ceph在节点切换时则会出现服务负载能力大幅度下降的情况,此外节点重启时需要加载元数据也就是RDB,Key值越多RDB也就越大,重启速度就越慢,对大集群的Ceph来说,服务重启简直像噩梦一样。

2.扩容操作复杂

从事开源 Ceph 运维工作的程序员,一般都会有掉进过扩容的坑,由于开源Ceph各节点间使用分布式协议进行数据同步,因此扩容操作较复杂,甚至扩容时还需要对节点进行切换与重启,扩容期间服务出会出现短时中断,非常影响效率。

3.运维难度太高

CEPH方案运维难度高,很少有自愈场景,基本的故障场景均需要人工处理,造成CEPH出现卡顿的原因,可能是后台恢复或者重平衡的影响,也有可能是慢盘、网络问题的影响,但CEPH自身侦测机制缺失,需要运维团队自行开发慢盘等监测插件,或者人工识别并踢除慢盘,运维难度极高。

4.资源利用率低性价比较差

存储成本主要是看磁盘集群的利用率,但是当CEPH集群规模增⼤后,伪随机算法导致了存储资源分布不均衡,磁盘利⽤率⽅差过⼤的问题。虽然从L版本开始中增加了balancer插件,能够在一定程度上实现自动监测并均衡,但此插件只能进行权重的评估,对于数据迁移量并没有过多的优化,即难以解决数据不均衡的问题,更无法有效提高磁盘利用率。

正是由于在原型测试中就会遇到上述问题,让很多用户对于Ceph及其衍生出来的项目望而却步,继续使用国外的存储产品,也有像华为、曙光等自研存储厂商,大幅提升了产品性价比、稳定性,还提供统一的运维中台的方案,被越来越多的用户选择。虽然说开源是一种重要的开发方式,但是开源这种看似省时省力的方案,却让我们在基础软件领域很难掌握到真正核心的技术,而不自主掌握高水平的自研技术,就无法做出真正好用的产品。

国内像华为、曙光这样的厂商这样坚持从底层代码自主研发的厂商,才能推出真正自主掌控,而且快捷易用的产品。

以上是关于基础软件照搬开源不可取,自力更生才是正途的主要内容,如果未能解决你的问题,请参考以下文章

基础软件照搬开源不可取,自力更生才是正途

基础软件照搬开源不可取,自力更生才是正途

官方文档,才是正途-docker-compose

《中国软件根技术发展白皮书(基础软件册)》发布!

IaaS开源软件之zstack(OSC中国开源项目的TOP30)

万里开源荣获中国信通院分布式事务型数据库基础能力专项评测证书