原文:http://www.sonatype.com/people/2009/05/nexus-indexer-20-incremental-downloading/

Nexus Indexer已经变得十分流行,它已经成为了索引Maven仓库的事实标准(包括大个子,中央仓库)。随着仓库变得越来越大,索引的大小也随之增长。从最初几百kb的文件,渐渐得增长至20-30mb的文件。大家看到索引是仓库内容的一个很好的入口(不仅有Maven使用仓库,用户也直接使用仓库),于是索引文件成了被下载得最多的文件,中央仓库中这个20mb的文件每天被数千的用户下载,带宽消耗十分巨大。为了解决这个问题,我们为Nexus Indexer引入了增量索引处理机制。这包括两个部分,生产者构建增量索引为消费者提供下载,以及消费者从生产者处获取增量索引。

构建增量索引

当中央仓库的每日执行任务创建索引的时候,最近的内容被存储到nexus-maven-repository-index.gz文件中(所有全部内容)。这个文件只是作为一个后备,为了防止万一:1,消费者没有正确的处理增量索引;2,用户落后太久了,而生产者不再拥有用户需要的增量部分。除了这个文件,每个增量索引的生成包含了自上次索引生成的所有变化(添加/更新/删除)。增量文件很小,与完整索引相比,大部分情况基于天的增量索引大约就10kb。增量文件在文件nexus-maven-repository-index.properties中列出,伴随有一个chain-id。这个chain-id是用来“重置”增量链,用来判断是否由于某些原因需要下载完整索引。

获取增量索引

如果消费者程序和Nexus Indexer集成了(至少要2.0版),那么就没什么可担心了,Nexus Indexer会管理下载其缺失的增量索引片段,如果索引混乱了(请求一个生产者不再支持的增量片段,或者chain-id不同),indexer就会下载完整索引文件,然后在下次更新的时候开始检查增量变化。

这是所有文件the nexus-maven-repository-index.properties处理的内容:

  • nexus.index.chain-id: 这是当前所有增量条目的chain-id。如果什么时候该值变化了,造成与消费者本地properties文件不一致,那么消费者就需要触发一次完整的.gz索引下载(当然同时更新properties文件)
  • nexus.index.last-incremental: 这是可用的最新增量条目,只是简单的一个插入到下载文件名中的整数。如果消费者本地properties文件中拥有同样的值,就不需要下载任何增量。
  • nexus.index.incremential-X: 这是为每个可用增量条目罗列的值。第一个条目(X=0)是生产者仍然维护的最旧的增量片段。如果消费者本地properties文件的last-incremental的值小于这里第一个条目的值,就需要下载完整.gz索引(以及properties文件)。否则,就只需要下载生产者提供的每一个nexus-maven-repository-index.X.gz文件(X大于消费者本地的last-incremental值,小于等于远程的last-incremental值)。

支持遗留索引应用

当然我们不希望将所有遗留应用拒之门外,因此旧的基于时间戳的properties同样可用:

  • nexus.index.time: 遗留.zip索引上次创建的时间戳。如果该时间戳和你本地属性文件的不同,就需要下载完整.zip索引。
  • nexus.index.timestamp: 遗留.gz索引上次创建的时间戳。如果该时间戳和你本地属性文件中的不同,就需要下载完整.gz索引。

因此为了简单明了的用好增量索引这个特性,如果你的引用已经和Nexus Indexer集成了,那么你绝对应该更新到版本2.0.0,以节省巨大的带宽消耗。最新的m2eclipse 0.9.8已经完成了这一步,Nexus 1.4也会相应的升级。

Nexus Indexer 2.0:增量下载相关推荐

  1. Android Studio download fastutil-7.2.0.jar下载依赖包超时问题

    第一次安装Android Studio 2020.3.1,遇到很多问题,在这里记录一下 我在新建项目的时候,卡在download fastutil-7.2.0.jar下载超时 1.添加阿里仓库 网上查 ...

  2. 最新android系统下载,安卓6.0抢先体验方法|安卓6.0下载 安卓6.0系统下载地址_PC6教学...

    谷歌正式确定了Android M版本号为安卓6.0,同时确定其代号为MARshmallow(棉花糖),而且官方也放出了最新棉花糖系统的第三个开发者预览版固件,对于喜欢尝鲜和折腾用户肯定都想要升级体验一 ...

  3. 多线程增量下载K线数据

    准备一份股票列表的CSV文件,文件格式如下 code name close cmv date_ipo 300434 金石亚药 12.89 4279829590 20150424 300380 安硕信息 ...

  4. 快递物流行业:数据增量下载的实现

    快递物流行业:数据增量下载的实现 网络拓扑图 基础资料包括:操作人员信息,网点信息等,快递行业的网点人员,信息量过多,如果每次都采取全部下载的方式,会导致下载数据会等待很长一段时间,给用户体验带来不利 ...

  5. docker 相关操作 nexus 清理空间 gitlab 修改下载地址

    docker 查看登录过的地址 cat /root/.docker/config.json 返回 {"auths": {"x.x.x.x:8080": {&qu ...

  6. repo同步代码_iTOP-4412开发板android4.0代码下载和编译

    Android4.0 源码可以从光盘,网盘获取稳定版本,也可以从 GitHub 下载我们的开发版 本.GitHub 仅提供源码下载,不提供二进制下载,二进制文件存放在光盘和网盘中. 基于迅为4412开 ...

  7. VMware vSphere Client(4.1/5.0/5.1/5.5/6.0) 客户端下载地

    前言 VMware作为商业虚拟化方案的佼佼者不知不觉中已经成长为一颗苍天大树,面对OpenStack和Docker的夹击希望VMware可以继续勇往直前,从vSphere 6.5开始终于彻底告别Cli ...

  8. 【Android 逆向】修改 Android 的 apk 安装包内的文件并重新打包 ( apktool_2.6.0.jar 下载和使用 | zipalign 文件对齐 | apksigner 签名 )

    文章目录 一.apktool_2.6.0.jar 下载和使用 二.使用 zipalign 工具进行对齐操作 三.使用 apksigner 工具进行签名 四.完整命令行输出 一.apktool_2.6. ...

  9. ASP.Net分页组件1.0开发下载了...

    ASP.Net分页组件1.0开发下载了...支持皮肤和自定义样式.热乎乎的,写的不好的地方指正出来啊... 开源免费的.希望大家多多支持... ASP.Net分页组件1.0开发下载了...支持皮肤和自 ...

  10. mysql 8.0.22_最新版MySQL 8.0.22下载安装超详细教程(Windows 64位)

    前言 前几天下载安装了最新版的MySQL 8.0.22,遇到了不少问题,参考了一些方法,最终得以解决.今天将自己的安装过程记录下来,希望对各位有所帮助. 一.MySQL 8.0.22官网下载 点击进入 ...

最新文章

  1. webstorm 修改端口号
  2. 从扫描序列的标准化做起,西门子医疗正在中国布这样一盘棋...
  3. java网络编程(二)
  4. 最新虚拟机VMware 下载安装
  5. word List20
  6. 实例50:python
  7. python爬取酷狗音乐top500_python获取酷狗音乐top500的下载地址 MP3格式
  8. 3.TCP/IP 详解卷1 --- IP:网际协议
  9. QT实现植物大战僵尸中文版工具代码
  10. 双稳态继电器工作原理图_一种双稳态继电器的制作方法
  11. gnuplot 使用示例
  12. 设置了相对定位relative之后,改变top值,如何去掉多余空白?
  13. Excel中建立数据透视表,想用计算字段功能,但是该选项灰色无法点击,怎么办?
  14. 神秘感十足的磁悬浮盆栽,敢不敢剁手来一款?
  15. MIMIC-CXR数据集的下载
  16. python 仪表盘数据显示_Python制作仪表盘图,比Excel快速百倍
  17. 数字化转型时代,如何让你的 App 摆脱“内卷”?
  18. 修复Cena万能头文件无法评测的问题
  19. Python爬虫 下载彼岸图网高清壁纸
  20. js前端 实现一个在线网页烟花效果

热门文章

  1. Eclipse SVN 项目后转换成Maven项目
  2. 常见路由器初始密码合集
  3. 假如时光倒流,我会这么学习Java 【转载】
  4. ubuntu安装QQ教程
  5. NC65安装手册、NC65授权教程
  6. python crm_学Python还是买CRM软件?
  7. ftp服务器FileZilla Server详细配置教程
  8. 长江大学计算机地质绘图,石文油气藏地质智能绘图系统
  9. vs2008 sp1补丁安装到最后一点点的时候,就无法安装下去了 解决方法[转]
  10. 查询CI框架的版本号