文章更新时间:2023-09-18 16:30
组件简介
维护者 | apache 组织 | 许可证类型 | Apache-2.0 |
首次发布 | 2010 年 9 月 3 日 | 最新发布时间 | 2023 年 7 月 3 日 |
GitHub Star | 2578 | GitHub Fork | 1517 |
依赖包 | 1,933 | 依赖存储库 | 15,858 |
描述:Avro 是一个独立于语言、基于架构的数据序列化库。它使用架构来执行序列化和反序列化。此外,Avro 使用 JSON 格式来指定数据结构,使其更强大。
官方仓库:https://github.com/apache/avro
参考链接:
https://packages.ecosyste.ms/registries/repo1.maven.org/packages/org.apache.avro:avro
https://mvnrepository.com/artifact/org.apache.avro/avro
组件健康度
技术健康度 | 该组件支持多种语言,包括Java, Python, C/C++/C#, PHP, Ruby, Rust, JavaScript等。它使用JSON格式来定义数据结构,这使得它更加灵活和强大。它还提供了优秀的模式演变能力,可以在不破坏旧数据的情况下更新模式。它的二进制数据格式非常紧凑和高效,可以节省存储空间和网络带宽。 |
社区健康度 | 该组件是一个开源项目,由Apache软件基金会管理和维护。它有一个活跃的开发者社区,可以在[邮件列表]或[问题跟踪系统]中提供反馈和支持。它也有一个广泛的用户群,包括一些知名的公司和组织,如Netflix, LinkedIn, Twitter, Cloudera等。 |
更新和维护频率 | 该组件目前的最新版本是1.11.2,发布于2023 年 7 月 3 日。它的发布周期大约是每三个月一次。它的开发者们一直在不断地改进和修复该组件的功能和性能。 |
兼容性 | 该组件支持跨语言和跨平台的数据交换。它也支持与其他流行的数据处理框架,如Hadoop, Kafka, Spark等的集成。它的模式演变能力使得它可以兼容不同版本的数据格式。 |
文档和支持 | 该组件有一个详细的[文档],包括入门指南,API参考,示例代码,最佳实践等。它也有一个[网站],提供了关于该组件的概述,新闻,下载,贡献等信息。此外,它还有一个[博客],分享了一些关于该组件的技术文章和故事。 |
org.apache.avro:avro是一个健康度很高的组件,它具有强大的功能,活跃的社区,稳定的更新,良好的兼容性和丰富的文档。
参考链接:
https://en.wikipedia.org/wiki/Apache_Avro
https://www.baeldung.com/java-apache-avro
https://avro.apache.org/docs/1.11.1/
组件许可证解读
Apache License 2.0 是一种开源软件许可证,广泛用于授权开源项目和代码。Apache License 2.0 允许用户自由地使用、修改和分发受许可的软件,而无需支付版权费用或专利费用。它鼓励开发者共享他们的代码,并保护用户的权利。以下是该许可证的一些重要特点:
- 代码使用权:用户可以自由地使用、复制、修改、合并、发布、分发和销售受许可软件。
- 版权声明:用户必须在所有源代码副本中保留原始的版权声明、许可证声明和免责声明。
- 修改代码:如果用户对代码进行了修改,需要清楚标明哪些部分发生了变化,并不能暗示原作者同意这些修改。
- 商标使用:Apache License 2.0 并未授予使用原软件的任何商标或名称的权利。
- 专利许可:该许可证授予了在使用、修改或分发受许可软件时相关专利的非独占许可。这意味着如果用户授权其他人使用该软件,相关专利许可也会传递给接收方。
- 再许可:用户可以将受 Apache License 2.0 许可的代码作为一部分整合到其它开源项目中,并使用不同的许可证授权整个项目。但是,需要在代码中显式地说明使用了 Apache License 2.0 许可的部分。
需要注意的是,Apache License 2.0 并不保证软件没有缺陷或不稳定性,使用该软件的风险由用户自行承担。
许可证原文链接:https://github.com/apache/avro/blob/master/LICENSE.txt
组件漏洞版本及修复方案
暂无
同类型可替代组件
- JSON:一种轻量级的数据交换格式,使用文本表示数据结构,易于阅读和编写。官网:https://www.json.org/json-en.html
- Protobuf:一种由Google开发的二进制数据序列化系统,支持多种语言,提供了高效的数据编码和解码能力。官网:https://protobuf.dev/
- gRPC:一种基于Protobuf和HTTP/2的远程过程调用(RPC)框架,支持多种语言,提供了高性能的服务通信。官网:https://grpc.io/
- Apache Thrift:一种由Facebook开发的跨语言服务开发框架,支持多种语言,提供了数据序列化和RPC功能。官网:https://thrift.apache.org/
- MessagePack:一种类似于JSON的二进制数据序列化系统,支持多种语言,提供了紧凑和快速的数据格式。官网:https://msgpack.org/
组件SBOM
组件名称 | 版本 | 是否直接依赖 | 仓库 |
pkg-dir | 4.2.0 | 否 | npm |
binary-extensions | 2.2.0 | 否 | npm |
io.netty:netty-codec | 4.1.97.Final | 否 | maven |
test-exclude | 6.0.0 | 否 | npm |
org.apache.commons:commons-lang3 | 3.12.0 | 否 | maven |
org.apache.kerby:token-provider | 1.0.1 | 否 | maven |
once | 1.4.0 | 否 | npm |
punycode | 2.1.1 | 否 | npm |
org.apache.kerby:kerb-util | 1.0.1 | 否 | maven |
commons-beanutils:commons-beanutils | 1.9.4 | 否 | maven |
io.netty:netty-transport | 4.1.97.Final | 否 | maven |
org.apache.avro:avro-ipc-jetty | 1.12.0-SNAPSHOT | 是 | maven |
该SBOM清单仅展示部分内容
完整SBOM清单及检测报告:
https://www.murphysec.com/console/report/1703689476244291584/1703689476764385280?allow=1