更多资讯请浏览:第二弹《开源高校行第一期》直播活动由CCF主办,由三位业界开源大咖分享,分别是LVS自由软件项目创始人张文松、2022Apache软件基金会理事姜宁、开源与开发者运营总监欧建深在OpenHarmony。而我们有幸作为OpenHarmony成长计划的学员参与了本次会议的直播。会后,我们都觉得收获颇丰。有必要做一个总结性的回顾。因此,我们希望在投资自己的同时,对他人也有参考价值。话题分享1.从LVS项目开始,一点点开源感悟TheLinuxVirtualServerProject分享会的第一个话题是张文松博士的。首先,大部分朋友在日常生活中可能很少听到“LVS”这个词。它是一个面向服务器的负载均衡调度器。全称是LinuxVirtualServer,字面意思是Linux虚拟服务器。类似的项目还有Nginx、HAProxy、F5、Keepalived等,在官网LinuxVirtualServerProject中有解释:ALinuxvirtualserverisahighlyscalableandhighavailabilityserverbuildingonarealservercluster,andtheloadbalancer在Linux操作系统上运行。服务器集群的架构对最终用户是完全透明的,用户之间的交互就像一个高性能的虚拟服务器。我们熟悉的有百度、阿里、腾讯、谷歌、SourceForge等公司网站都使用了这项技术。典型场景是淘宝双十一百亿订单背后的支撑,笔者以往对LVS并没有具体的了解,但基于以上分析,初步建立的认知是其思路大致类似于磁盘阵列技术。磁盘阵列通常称为RAID,中文意思是RedundantArrayofIndependentDisks。RAID可以通过软件或硬件技术将多个较小的磁盘集成为一个较大的磁盘设备,而这个较大的磁盘的作用不仅是存储,还有数据保护;LVS是一台忙于网络服务的机器嘛,所以拿一组机器来做吧,对外还是相当于一台机器,它的logo很形象地传达了这样一个特点。LVSopensourcethrough张文松博士风趣幽默地讲述了自己本科阶段的心路历程和趣事。下面简单总结一下:1995年底开始接触Linux,主要是玩玩,后来在系统集成中应用。1998年5月,第一个版本的LVS发布。Linuxkernel2.0的一个patch只支持VS/NAT,实现了Round-Robin调度算法,非常简单。实现了更多的调度算法,以及bug修复等。1998年11月,实现了VS/IPTunneling机制。1999年5月,VS/DirectRouting机制实现并移植到Linuxkernel2.2。更多的人参与到LVS项目中。2000年5月移植到Linux内核2.4。2002年9月移植到Linux内核2.5。2003年10月,被包含在Linux内核2.5开发版中。2003年11月Linux内核2.4.23包含LVS。2003年12月,Linux内核2.6.0包含了LVS。2008年11月,Google工程师帮助实施了IPv6支持。2010年2月实现SCTP传输层协议支持。...LVS也被认为是一个全球协作开源项目,汇集了来自亚洲、欧洲、澳大利亚、美洲和世界其他地区的贡献者的成果。虽然大部分贡献者素未谋面,但基于相互欣赏、共同爱好和需求,LVS的能力不断得到加强,为后续广泛应用打下了坚实的基础,既满足了当代,也造福了为了子孙后代。或许,这就是开源精神的核心灵魂所在。既然LVS有很多优点,那么在实际情况中应该如何使用呢?LVS在云计算中大型网站的使用中有两个概念叫做region和availabilityzone:region是指物理数据中心,资源创建成功后不能创建。更改区域;可用区(AZ)是指同一区域中的一个物理区域,其中电力和网络相互独立。同一可用区内的实例之间的网络延迟更小。同一地域的可用区在内网互通,可用区之间可以实现故障隔离。这里有阿里云的相关例子供参考:一个地域通常有3个可用区,相邻可用区之间的距离在50-100公里左右,以满足容灾能力和网络时延的要求。在可用区的结构中,前端是一个超级路由器Router,后端数据中心配置了大约100台LVS服务器,后面设置了10000个ServiceEndpoint服务节点。然后,Router利用ECMP和EqualCostMultipath算法,将源地址和目的IP地址进行一致的Hash映射,将前端Router投射到后端LVS,实现更精细化的服务。开源文化张文松博士在阿里任职期间介绍了开源文化,推动了阿里的发展进程。2020年,阿里发布了开源10年全景图:可以看出,阿里受益于开源,也提升了阿里的技术品牌和影响力。开源在当今的商业服务中达成了三个一致的原则:开源是一种更高效的开发模式。开源带货是获取客户最有效的方式之一。基础软件必须开源,不开源客户不敢用。因此,对于开源项目来说,建立竞争优势就意味着建立良好的开源开发者社区和开源生态系统。最后,张文松博士分享了他对开源的一些感悟。在这一部分,前人一点一滴积累的经验对我们来说是无比宝贵的滋养:通过开源,我们可以获得更多的用户,用户会帮助测试反馈,最重要的是能收集到更多的客户需求。通过开源,你可以获得更多开发者和专家的帮助,不断提升自己的能力。通过开源,可以让你的代码拥有更长的生命周期。用户的使用会超出我们自己的想象。不要对开源考虑太多。写完软件,再来说说开源。开源项目文档很重要,尤其是QuickStart。要发展一个开源社区,你必须给予他人信任。做开源项目是很好的经历,以后会有商机。把事情做好,回报自然而然;保持冷静,享受这个过程。总的来说,笔者目前比较深刻的是第2点和第8点——一个知名的开源项目社区,通常都是藏龙卧虎,每个节点都隐藏着很多高手,也就是时下流行的“大佬””。比如OpenHarmony社区简单分为运营岗和技术岗:运营老大会高效组织我们参与社区活动,有相应的激励政策,激发学习积极性,有时还会对思想政治工作、个人成长提供一些指导同时紧跟行业前沿;技术负责人会提供硬核的技术指导,不厌其烦地为我们排查和解决问题,并给予力所能及的帮助。其他的点还需要笔者继续去体会和领悟。参与开源社区的好处远不止于此。可以学到很多平时学不到的东西。如果您投资,您将获得回报。2、参与开源,拥抱世界什么是开源第二个话题是江宁老师的《参与开源 拥抱世界》。从开源的源头出发,三位重要人物发起了三个里程碑事件,即理查德斯托曼的“自由软件运动”、林纳斯托瓦兹的“LinuxRise”和埃里克史蒂文雷蒙德的“开源软件运动”。RichardStallman早年在麻省理工学院的人工智能实验室开发了很多软件。为了支持这些项目的发展,他成立了GNU自由软件基金会(FSF)基金会,并编写了日后被广泛使用的GPL协议,提倡学习、使用、修改和分发软件的自由。1991年,第一版Linux项目诞生,同样采用了GPL协议,真正推动了开源。EricStevenRaymond建立了开源倡议并启动了Debian自由软件指南项目。今天许多基于Deb的Linux发行版都是基于Debian维护的。Apache软件基金会治理结构Apache的方式是公开透明的。精英统治。社区。姜宁先生总结了以上三点,分析了Apache的核心概念。精英管理是根据所提出的最佳解决方案做出决策的方式。人才是选人的唯一标准,而不是地位、偏见或特权。把权力给那些做实际工作的人。优点被定义为为实现项目目标所做的有价值的工作。通过功绩获得相应的职位。社区的共同兴趣和爱好。需要有交流的地方。每个人都扮演着不同的角色:用户、开发人员和传播者。为什么加入开源社区。可以学到平时在书本上学不到的知识。它可以帮助我们解决工作中的实际问题。你可以和一群志同道合的人一起成长。开始与世界一流的开发人员合作。作品会被更多人看到。你可以找到一份更好的工作或者你更喜欢的工作。我们加入开源社区的原因当然有很多,但江宁先生强调,我们不能忽视阻碍我们前进的惰性。开源社区很多东西都是开放的,我们尤其需要培养自己的好奇心。培养好奇心好奇心是对新事物感兴趣,想要探索、研究和学习的特征。阻碍开源世界成长的是你的惰性,而好奇心会帮助你克服这种惰性。融入开源社区,寻找有趣的项目,培养好奇心。看开源开发记录,看看问题是怎么解决的。参加一个开源项目实习。找到要贡献的项目并成为提交者。融入集体是进步最快的方式。学习从来都不是一个人完成的。我们通常会犯别人也会犯的错误。实践会给我们真知,时间会给我们答案。3、看透开源,玩转开源项目第三个话题是欧建深老师的《看透开源 玩转开源项目》。首先,欧建深先生将**“开源”**的概念分析为名词和动词两条主线:将开源理解为名词是一种承载软件技术的方式(解构一个好的产品,见优质技术在哪里拿);这个动词理解为开源,就是一种构建生态的方式(造浪的人如何掀起浪潮)。开源从来都不是一个单一的概念。英语中有一类词叫做动名词,它兼有动词和名词的特点,可以在很多场合使用。开源与之类似,强调更全面的改变。看穿名词:如何找到顶级开源技术?欧建深老师为我们指引了一条清晰的路线:从社区文章入手,在看文章的同时与大家建立共同语言。探索学术池,随便看看,宝物不少。学术研究大概是一个如下图所示的过程:其中,reviewpapers是一种描述边界的工具,解释一个领域正在发生什么,最近正在采取什么行动。那么,既然评论如此专业,那么是谁写的,又是在什么情况下写的呢?其实是一些行业大佬为了获得学术上的突破,对行业内已知研究方向的整体总结。从整体规划和归纳的整体视角结构出发,肯定比单点突破更有效。摘要是学术研究开放开源技术的正确方式,只需要加上关键词Asurveyof/on即可。为了让大家有一个更清晰、更直观的认识,欧建申老师举了相关的例子:类型的分类是对各种技术整体结构的分类和归纳,就像高中一些理科的教具一样,有往往是一些思维导图,在这样的框架中,一本书隐藏在一张图片后面。因此,按照结构图,基本可以了解某个领域的内容和研究方向,达到学术前沿的水平。结构原理型说明各种技术配件如何相互配合。由于硬件或软件固有的结构特点,存在一些问题。比如EROFS文件系统为什么要采用修改后的固定输出大小LZ4算法而不是直接使用呢?现有的LZ4是因为Flash的存储节点是4k扇区。为了实现4k对齐,提高存储利用率,原来的LZ4需要做相应的优化。趣味:科研变成了短途旅行,带着“我来一趟”的轻松心情,看复杂难懂的论文。学术研究确实枯燥乏味,但如果抱着“我是来参观的”心态去玩,再无情的科研,最终也会变成轻松愉快的奋斗日记。没有什么任务是容易完成的。与其担心工作难不难,不如调整自己去适应。这样,我们就会在积累的过程中逐渐完善和成长。动词数学模型中的开源社区运营开源社区运营体系也包含相应的数学模型。欧建深先生用两本书来分析。感兴趣的读者可以参考下面的相关链接。具体内容这里不再展开。一切都是数学,数学原理是自然界中隐藏的最大秘密。一切都可以用相应的数学模型来解释。如果你懂数学,你就会明白一切。小结我们回顾了活动主体分享的大部分内容,从LVS项目到数学模型的应用,都传递了海量的信息。温故而知新,作者本人也有了新的认识。更多资讯请浏览:?????????????????????????????????????????????????????????
