标签 Apache 下的文章

GPT-4 将有 100 万亿参数,与人类大脑神经元数量相当!

OpenAI 发布于 2020 年的 GPT-3 有 1750 亿个参数。根据传闻,即将在 2023 年初发布的 GPT-4 的参数约为 100 万亿。如果将参数比作人类的神经元,这一数量的参数大致相当于人类大脑中存在的神经元连接的数量,而人类实际上并没有使用我们大脑的全部容量。按照 GPT-3 对其前代产品的进步,GPT-4 将在能力、范围和潜力方面与我们目前的 GPT-3 版本的 ChatGPT 相比,可能拥有一个质的飞跃。

消息来源:Impakter
老王点评:我已经无法用想象力来想象 AI 能做到什么了,希望打开的不是潘多拉魔盒吧。

美联邦机构 1/5 的密码在安全审计中被破解

美国内政部最近的一次的安全审计发现,在测试的近 9 万个加密哈希值中,只用了 90 分钟就破解了 16% 的密码,最后有 21% 的账户密码被破解。这些被破解的密码涉及 28 个高价值资产中的 25 个,占比近 90%。破解这些密码只使用了一台价值 15000 美元的设备。值得注意的是,被破解的绝大多数密码都符合密码复杂性要求,该要求规定密码必须至少有 12 个字符,并且至少包含大写、小写、数字和特殊字符等四种字符类型中的三种。

消息来源:Ars Technica
老王点评:传统的“强密码”理论已经不合时宜。多个无关联的单词组成的长密码会更安全一些,最好是使用密码管理器生成随机密码,以及辅助使用多因子认证。

美国原住民要求阿帕奇基金会改名

美国的一个民间组织呼吁 阿帕奇软件基金会 Apache Software Foundation (ASF)改名,以尊重美国原住民,并遵守其自身的行为准则。他们指责 ASF 出于品牌推广的目的盗用原住民文化。该团体对他们所说的阿帕奇部落只存在于过去的历史背景中的说法提出异议。ASF 表示已经知晓此事,但“变化需要时间与成员、董事会和我们的法律团队进行仔细权衡。我们的成员正在探索其他解决方法。”

消息来源:The Register
老王点评:我觉得,要是没有 ASF,可能很多人都不知道阿帕奇部落,我不觉得这是恶意滥用。而且,据我所知,Apache 起名的部分灵感来自于对 NCSA 服务器的修补版。

开源以丰富的项目画布引领着处理实时事件的方向。

 title=

在“永不下线”的未来,入网设备规模可能会达到数十亿。存储原始数据,日后再进行分析的方案将不再能满足需求,因为用户需要实时且准确的响应。要对故障等对环境敏感的状况进行预测,实时处理数据也必不可少 —— 数据到达数据库后再处理肯定是来不及的。

有人可能会说,“云可扩展性”能够满足实时处理流数据的需求,但一些简单的例子就能表明它永远无法满足对无界数据流进行实时响应的需求。从移动设备到物联网,都需要一种新的范式来满足需求。尽管云计算依赖于对大数据“先存储后分析”的方案,但也迫切需要一种能够处理持续、杂乱和海量数据流的软件框架,并在数据流到达时立即对其进行处理,以保证实时的响应、预测和对数据的洞悉。

例如,在加利福尼亚州的帕洛阿尔托市,每天从基础交通设施产生的流数据比 Twitter Firehose 还要多。这是很大的数据量。为 Uber、Lyft 和 FedEx 等消费者预测城市交通需要实时的分析、学习和预测。云处理不可避免地导致每个事件大约会有半秒的延迟。

我们需要一个简单而强大的编程范式,让应用程序在类似下面的情况时能够动态处理无界数据流:

  • 数据量巨大,或原始数据的移动成本很高。
  • 数据由广泛分布的资产(例如移动设备)生成。
  • 数据具有转瞬即逝的价值,即时分析迫在眉睫。
  • 需要始终洞悉最新数据情况,外推法行不通。

发布和订阅

事件驱动系统领域中有一个关键架构模式: 发布/订阅 publish/subscribe 消息传递模式。这是一种异步通信方法,其中消息会从 发布者(数据产生方)传递到 订阅者(处理数据的应用程序)。发布/订阅模式可以将消息发送者与消费者分离开来。

在发布/订阅模式中,消息源会 发布 针对某个 主题 topic 事件 event 服务端 broker ,后者按接收顺序存储它们。应用程序可以 订阅 一个或多个 主题,然后 服务端 会转发匹配的事件。 Apache Kafka 和 Pulsar 以及 CNCF NATS 是发布/订阅系统。 发布/订阅的云服务包括 Google Pub/Sub、AWS Kinesis、Azure Service Bus、Confluent Cloud 等。(LCTT 译注:本段部分术语英文名称更为泛用,针对这些术语,采用了中英文标注。)

发布/订阅系统不会 运行 订阅者应用程序,它们只是 传递 数据给相应主题的订阅者。

流数据通常包含应用程序或基础架构状态更新的事件。在选择架构来处理数据时,发布/订阅框架等数据分发系统的作用是有限的。消费者应用程序的“处理方式”超出了发布/订阅系统的范围。这让开发人员的管理变得极具复杂性。所谓的流处理器是一种特殊的订阅者,可以动态分析数据并将结果返回给同一个服务端。

Apache Spark

Apache Spark 是用于大规模数据处理的统一分析引擎。通常将 Apache Spark Streaming 用作流处理器,例如给机器学习模型提供新数据。Spark Streaming 将数据分成小批量,每个小批量都由 Spark 模型或其他系统独立分析。事件流可以被分组成小批量以进行分析,但流处理器本身必须具有弹性:

  • 流处理器必须能够根据数据速率进行扩展,甚至要能够跨越服务器和云,并且还可以跨实例实现负载均衡,以确保弹性和其他应用层的需求。
  • 它必须能够分析来自不同来源的数据,这些数据源的报告速率可能相差很大。这意味着它必须是有状态的,或者将状态存储在数据库中。当使用 Spark Streaming 作为流处理器时,通常会使用后一种方法,这种方法在需要超低延迟响应时可能会存在性能问题。

相关项目 Apache Samza 也提供了一种处理实时事件流的方法,并使用 Hadoop YarnApache Mesos 来管理计算资源,以便进行弹性扩展。

解决数据扩展问题

需要注意的是,即使是 Samza 也不能完全减轻开发人员的数据处理需求。扩展数据规模意味着处理事件的任务需要跨多个实例进行负载均衡,而使用数据库是实例间共享结果应用层状态的唯一方法。然而,当应用程序任务之间的状态协调转移到数据库时,对性能会产生不可避免的连锁反应。此外,数据库的选择也至关重要。随着系统的扩展,数据库的集群管理会成为下一个潜在的瓶颈。

这个问题可以通过有状态、有弹性的替代方案来解决,并且这样的解决方案可以用来代替流处理器。在应用程序级别(容器或实例内),这些解决方案依据流的更新,动态构建并发、互连的“web 代理”的有状态模型。代理是并发的“微服务”,它们消费单一来源的原始数据并维护它们的状态。基于数据中发现的源之间的真实关系(如包含和临近),代理实现互连以共享状态。代理也因此形成了一个并发服务图,可以分析它们自己的状态和链接到的代理的状态。数据源将原始数据转换为状态,并根据自身及其链接子图的变化进行分析、学习和预测,每个代理都为单个这样的数据源提供微服务。

这些解决方案允许大量的代理(真实数据源的数字类比)分布,甚至还有在应用层使代理互连的分布式图,从而简化了应用架构。这是因为代理之间互连的本质,是映射到解决方案的当前运行时执行实例和代理本身的 URL。通过这种方式,应用程序可以跨实例无缝扩展,而无需担心 DevOps 问题。代理消费数据并维护状态,还会计算自己和其他代理的状态。由于代理是有状态的,因此不需要数据库,并且数据洞察是以内存速度计算的。

使用开源阅读数据世界

我们查看数据的方式正在发生翻天覆地的变化:不再将数据库用作记录系统,取而代之的是现实世界,现实世界事物的数字类比可以不断地传输它们的状态。幸运的是,开源社区在处理实时事件的项目丰富度方面处于领先地位。从发布/订阅模式(其中最活跃的社区是 Apache Kafka、Pulsar 和 CNCF NATS)到持续处理流数据的分析框架,包括 Apache Spark、FlinkBeam、Samza,以及 Apache 许可的 SwimOSHazelcast,对开发人员来说,可选择项目非常之多。可以说,没有什么地方比开源社区的专有软件框架更多了。试看软件的未来,必是开源的天下。


via: https://opensource.com/article/20/2/real-time-data-processing

作者:Simon Crosby 选题:lujun9972 译者:unigeorge 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

18 年后,最古老的 BT 种子还活着

迄今最古老的 BT 种子《The Fanimatrix》和 BitTorrent 协议都诞生于 2003 年,这是一部新西兰粉丝摄制的《黑客帝国》题材真人短片,成本仅 800 美元,9 天拍摄完成,主创表示最大的花销是皮夹克。为了低成本地传播,拍摄者选择了初出茅庐的 BT 种子,只要有人做种,那么资源就可以一直分发下去。而 18 年过去了,这部影片仍旧有几十个做种者。

这是一种好技术,但是并不是所有人都喜欢它。

Apache 软件基金会去年变更了约 1.34 亿行的代码

Apache 软件基金会(ASF)最近公布了截至 4 月 30 日的 2021 财年报告,设法筹集了超过 300 万美元的资金。在代码方面,ASF 在 2021 财年对其托管的项目进行了 25.8 万次提交,由 3058 名提交人变更了 1.34 亿行代码。ASF 已经拥有 200 个项目管理委员会和 351 个 Apache 项目。去年有 14 个项目从 Apache 孵化器状态毕业。去年,最活跃的 Apache 项目是 Kafka、Hadoop、ZooKeeper、POI 和 Logging。

开源世界虽然是由一个个贡献者搭建起来的,但是各种基金会在其中发挥了不可或缺的作用。

Google 推出私有计算核心服务

Google 的私有计算核心是一个开源的平台,提供了一个沙盒式的安全环境。它可以将“智能回复”、“现在播放”和“实时字幕”等服务在私有计算核心中处理,除非得到手机所有者的明确许可,否则不会与其他应用程序共享。现在,Google 已经通过私有计算核心服务进一步加强了这一举措。这将通过利用专门的开源 API 来实现,这些 API 通过删除个人身份信息来保护隐私,并使用联合学习、联合分析和私有信息检索等技术进行处理。

看起来还不错,但是就像谷歌之前的一些类似技术,或许也有隐患。

吴晟当选首位华人 Apache 软件基金会董事

在本周举行的 Apache 软件基金会(ASF)年度会员大会上,吴晟当选为 ASF 董事会成员,这是首位华人担任的 ASF 董事。此外,还有 7 位来自中国的新成员也接到了正式成员邀请。至此 ASF 中国区成员预计将达到 28 位,而全球仅 700 余位正式成员。

吴晟所创建并担任项目 VP 的分布式程序监测软件 SkyWalking 是国内唯一一款由个人开源成为 Apache 基金会的顶级开源项目。除此之外,其本人还是 Apache ShardingSphere 项目联合创始人,并且担任 Apache 基金会旗下多个顶级开源项目 PMC 成员与孵化器指导者。

让我们恭喜吴晟!恭喜 Apache 基金会!

欧洲最大云服务公司 OVH 机房着火,350 万家网站下线

OVH 位于法国的机房前日发生严重火灾,有一个数据中心被完全烧毁、部分客户数据完全丢失且无法恢复。这场灾难已导致超过 350 万个网站下线,而这一切发生在 OVH 启动了 IPO 计划两天之后。OVH 表示将在接下来的 1-2 周对服务器进行紧急修复,完全恢复时间待定。

看来没有多地备份,都放在一个数据中心有点风险啊,不过这么大规模的失火也实属罕见,预见 OVH 的 IPO 不会很顺利。

佳士得以近 7000 万美元拍卖出一枚 NFT 加密艺术品

3 月 11 日,世界知名艺术品拍卖行佳士得挂出的艺术家 Beeple 的数字化艺术作品《The First 5000 Days》投标截止,最终显示的价格为 6934.625 万美元。此次网上拍卖成为了加密艺术品发展的里程碑。

2007 年 5 月 1 日,Beeple 开始每天创作艺术作品,历时 13 年,这幅拍品汇集了该艺术家在前 5000 天创作的画作。

艺术品的市场一般人不懂,加密艺术品就更不是一般人能理解的了。能拍卖到如此令人瞠目结舌的价格,其背后揭示了加密艺术品市场的潜力和火爆!

Apache 基金会(ASF)正式宣布,该基金会已经将其旗下的 350 多个项目、多达 2 亿行的代码从内部的 Git 基础设施迁移至 GitHub。

作为全球最大的开源基金会,ASF 拥有 730 名个人 ASF 成员 Member 和超过 7000 名的 Apache 代码 提交者 Commiter ,在其 20 年的历史当中,已经通过 300 万个代码提交累计贡献了多达 10 亿行的代码。

Apache 项目最初在 ASF 基础设施中提供了两种版本控制服务:Apache Subversion 和 Git。而多年来,越来越多的项目及其社区希望在 GitHub 上看到他们的源代码。但是由于这些代码在 GitHub 只是只读的镜像,因此在这些代码存储库上只能使用有限的 GitHub 工具。

“2016 年,基金会开始将 GitHub 的代码存储库和工具与我们自己的服务集成在一起。这使得部分选定的项目能够使用 GitHub 的优秀工具,”ASF 基础设施管理员 Greg Stein 说。 “随着时间的推移,我们改进、调试并巩固了这种集成。在 2018 年末,我们要求所有项目从我们内部的 git 服务转移到 GitHub 提供的服务。这种转变会将 GitHub 所有的工具带到我们的项目中,而我们在我们的基础设施上维护一个备用镜像。”

GitHub CEO Nat Friedman 表示:“我们很自豪能让开源社区这么长期的成员转移到 GitHub。……无论是与个人开源维护者和贡献者,还是与一些世界上最大的开源基金会(如 Apache)合作,GitHub 的使命是通过支持开源社区,满足他们的独特需求和帮助开源来成为所有开发人员的家,让项目茁壮成长。”

在 2019 年 2 月,迁移到 GitHub 的工作已经完成,ASF 自己的 git 服务退役。

“我们将继续试验和扩展 GitHub,以根据我们自己的需求和要求为我们的社区提供服务,”Stein 补充道。 “基金会已经开始与 GitHub 管理层密切合作,探索实现这一目标的方法,以及将来可能实现的目标。”

补充:Apache 基金会的项目并未“迁移”至 GitHub,而是做了个双主镜像

经过多位 Apache 基金会的贡献者解释,这则消息存在一定的误读,特此做个澄清。

据 Apache 基金会官方的解释,之前,Apache 基金会“有两个不同的 git 服务:gitbox 和 git-wip-us,后者是自 2010 年以来一直可用的最初的 git 服务”,而通常会在 GitHub 上建立一个只读镜像。

随着 Apache 基金会旗下各个项目表示出对利用 GitHub 基础设施服务的兴趣,从 2016 年中期,Apache 基金会建立了 gitbox,以使项目能够正常使用 GitHub 服务。gitbox 提供的是一种双主镜像的仓库,即使用者可以在 GitHub 上进行提交、处理 PR 和工单等,也可以采用 Apache 内部账户进行相同的操作——而无论在任何一端的操作都是双向同步的。

到了 2018 年,基金会决定将所有使用 git 服务项目都迁移至 gitbox,使之可以利用 GitHub 生态的更多工具,并将 git-wip-us 服务废弃。这个工作已于 2019 年 2 月完成。

所以,现在的状态是:Apache 基金会旗下采用 git 作为版本仓库的项目,都迁移至 gitbox 了。这些项目既可以使用 GitHub 的基础设施和工具,也可以使用 Apache 基金会账户在 gitbox 上进行相同的操作。因此,这就是“通过集成了 GitHub 而扩展了 Apache 基金会的基础设施”(原新闻标题)。

感谢 Apache 基金会的贡献者“吴晟@skywalking”、“刘天栋Ted.开源社”和华为的姜宁提供的信息。

如何在流行而强大的 Apache Web 服务器上托管两个或多个站点。

在我的上一篇文章中,我解释了如何为单个站点配置 Apache Web 服务器,事实证明这很容易。在这篇文章中,我将向你展示如何使用单个 Apache 实例来服务多个站点。

注意:我写这篇文章的环境是 Fedora 27 虚拟机,配置了 Apache 2.4.29。如果你用另一个发行版或不同的 Fedora 版本,那么你使用的命令以及配置文件的位置和内容可能会有所不同。

正如我之前的文章中提到的,Apache 的所有配置文件都位于 /etc/httpd/conf/etc/httpd/conf.d。默认情况下,站点的数据位于 /var/www 中。对于多个站点,你需要提供多个位置,每个位置对应托管的站点。

基于名称的虚拟主机

使用基于名称的虚拟主机,你可以为多个站点使用一个 IP 地址。现代 Web 服务器,包括 Apache,使用指定 URL 的 hostname 部分来确定哪个虚拟 Web 主机响应页面请求。这仅仅需要比一个站点更多的配置。

即使你只从单个站点开始,我也建议你将其设置为虚拟主机,这样可以在以后更轻松地添加更多站点。在本文中,我将从上一篇文章中我们停止的地方开始,因此你需要设置原来的站点,即基于名称的虚拟站点。

准备原来的站点

在设置第二个站点之前,你需要为现有网站提供基于名称的虚拟主机。如果你现在没有站点,请返回并立即创建一个

一旦你有了站点,将以下内容添加到 /etc/httpd/conf/httpd.conf 配置文件的底部(添加此内容是你需要对 httpd.conf 文件进行的唯一更改):

<VirtualHost 127.0.0.1:80>
    DocumentRoot /var/www/html
    ServerName www.site1.org
</VirtualHost>

这将是第一个虚拟主机配置节,它应该保持为第一个,以使其成为默认定义。这意味着通过 IP 地址或解析为此 IP 地址但没有特定命名主机配置节的其它名称对服务器的 HTTP 访问将定向到此虚拟主机。所有其它虚拟主机配置节都应跟在此节之后。

你还需要使用 /etc/hosts 中的条目设置你的网站以提供名称解析。上次,我们只使用了 localhost 的 IP 地址。通常,这可以使用你使用的任何名称服务来完成,例如 Google 或 Godaddy。对于你的测试网站,通过在 /etc/hosts 中的 localhost 行添加一个新名称来完成此操作。添加两个网站的条目,方便你以后不需再次编辑此文件。结果如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 www.site1.org www.site2.org

让我们将 /var/www/html/index.html 文件改变得更加明显一点。它应该看起来像这样(带有一些额外的文本来识别这是站点 1):

<h1>Hello World</h1>

Web site 1.

重新启动 HTTPD 服务器,已启用对 httpd 配置的更改。然后,你可以从命令行使用 Lynx 文本模式查看网站。

[root@testvm1 ~]# systemctl restart httpd
[root@testvm1 ~]# lynx www.site1.org

                                              Hello World 
  Web site 1.
<snip>
Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

你可以看到原始网站的修改内容,没有明显的错误,先按下 Q 键,然后按 Y 退出 Lynx Web 浏览器。

配置第二个站点

现在你已经准备好建立第二个网站。使用以下命令创建新的网站目录结构:

[root@testvm1 html]# mkdir -p /var/www/html2

注意,第二个站点只是第二个 html 目录,与第一个站点位于同一 /var/www 目录下。

现在创建一个新的索引文件 /var/www/html2/index.html,其中包含以下内容(此索引文件稍有不同,以区别于原来的网站):

<h1>Hello World -- Again</h1>

Web site 2.

httpd.conf 中为第二个站点创建一个新的配置节,并将其放在上一个虚拟主机配置节下面(这两个应该看起来非常相似)。此节告诉 Web 服务器在哪里可以找到第二个站点的 HTML 文件。

<VirtualHost 127.0.0.1:80>
    DocumentRoot /var/www/html2
    ServerName www.site2.org
</VirtualHost>

重启 HTTPD,并使用 Lynx 来查看结果。

[root@testvm1 httpd]# systemctl restart httpd
[root@testvm1 httpd]# lynx www.site2.org

                                    Hello World -- Again

   Web site 2.

<snip>
Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.
Arrow keys: Up and Down to move.  Right to follow a link; Left to go back.
H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list

在这里,我压缩了输出结果以适应这个空间。页面的差异表明这是第二个站点。要同时显示两个站点,请打开另一个终端会话并使用 Lynx Web 浏览器查看另一个站点。

其他考虑

这个简单的例子展示了如何使用 Apache HTTPD 服务器的单个实例来服务于两个站点。当考虑其他因素时,配置虚拟主机会变得有点复杂。

例如,你可能希望为这些网站中的一个或全部使用一些 CGI 脚本。为此,你可能为 CGI 程序在 /var/www 目录下创建一些目录:/var/www/cgi-bin/var/www/cgi-bin2,以与 HTML 目录命名一致。然后,你需要将配置指令添加到虚拟主机节,以指定 CGI 脚本的目录位置。每个站点可以有下载文件的目录。这还需要相应虚拟主机节中的条目。

Apache 网站描述了管理多个站点的其他方法,以及从性能调优到安全性的配置选项。

Apache 是一个强大的 Web 服务器,可以用来管理从简单到高度复杂的网站。尽管其总体市场份额在缩小,但它仍然是互联网上最常用的 HTTPD 服务器。


via: https://opensource.com/article/18/3/configuring-multiple-web-sites-apache

作者:David Both 译者:MjSeven 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出