nuget.org
警告
此页面正在完善中!
nuget.org,也称为"Gallery"(画廊),是托管开源包的事实标准源。您应该在此发布开源项目的 NuGet 包。
Gallery 经过实战检验,已被证明具有良好的扩展性。您可以在 Gallery 的 wiki 上找到有关如何托管您自己的 Gallery 实例的指南。您可以在 GitHub 上找到 Gallery 的代码:
- NuGet/NuGetGallery — nuget.org 网站和 v2 API
- NuGet/NuGet.Jobs — Gallery 的作业,用于验证和包统计等
- NuGet/NuGet.Services.Metadata — NuGet 的 v3 实现
- NuGet/ServerCommon — NuGet 服务中使用的通用库
如您所见,nuget.org 是一个复杂的庞然大物。托管您自己的 Gallery 实例并非易事。
BaGet 与 nuget.org 对比
待办。参见 此 issue 获取深入分析。
- BaGet 仅与 NuGet/NuGet.Services.Metadata 竞争
- nuget.org 的 v3 实现是静态的
- 仅在 Windows 上运行
- 与 Azure 紧密耦合
- 将读取扩展到接近无限
- 写入扩展性不佳
- 静态 JSON 文件托管在 Azure Blob 存储上
- 由内容分发网络(CDN)提供服务
- 文件由
feed2catalog、catalog2registration、catalog2dnx和catalog2lucene作业更新
- BaGet 的 v3 实现是动态的
- 跨平台实现
- 请求由查询数据库的服务提供服务
- 架构更简单,使部署和运行小型源更容易
- 更容易扩展写入
- 更难扩展读取
- 更容易添加新功能
- 更难达到同样的可靠性