`
juvenshun
  • 浏览: 1595478 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Nexus Indexer 2.0:增量下载

阅读更多

原文: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也会相应的升级。

9
0
分享到:
评论
6 楼 aiafei0001 2014-09-19  
我下载了那个文件,133m,但是照样不能自动更新jar
5 楼 张宗耀 2013-02-28  
经过测试,生成索引的方式是,下载nexus-maven-repository-index.gz文件,地址为,http://repo.maven.apache.org/maven2/.index/,将nexus-maven-repository-index.gz和nexus-maven-repository-index.properties复制到maven本地仓库的repo\.cache\m2e\1.3.1\XXX\下,启动eclipse,一次选择Windows->Show Views->Other..->Maven->Maven Repositories,打开后,打开Global Repositories会看到Central(http://repo.maven.org/maven2/),右键单击选择Minimum Index Enabled或者Enable Full Index,eclipse会卡一段时间,然后就会在maven本地仓库的repo\.cache\m2e\1.3.1\XXX\生成一个文件夹,里面就是nexus熟悉的索引文件,全部复制到
nexus-2.3.1-01\sonatype-work\nexus\indexer\central-ctx下即可。
4 楼 loomz 2012-08-04  
loomz 写道
请问楼主,现在无法下载到nexus-maven-repository-index.zip,手工怎么下载都下载不到,能给个地址不

socket timeout异常
3 楼 loomz 2012-08-04  
请问楼主,现在无法下载到nexus-maven-repository-index.zip,手工怎么下载都下载不到,能给个地址不
2 楼 lovefly_zero 2009-10-12  
Nexus
killvin 写道
惨了!看不懂


这无非是对m2eclipse 中Archetypes下的Indexer进行一下说明而已。呵呵。
1 楼 killvin 2009-05-19  
惨了!看不懂

相关推荐

    nexus-indexer-1.2.3.jar

    nexus-indexer-1.2.3.jar

    indexer-cli-6.0.0 下载地址.txt

    组要是看到下载一个这个工具居然需要50积分?!!!! 下载地址: ...里面有各个版本的工具;...附上:...命令:java -jar indexer-cli-6.0.0.jar -u nexus-maven-repository-index.gz -d indexer

    使用Maven&nexus上传下载至私库

    - 将central-ctx.zip解压到C:\Users\root\sonatype-work\nexus\indexer\central-ctx目录。 - 将本地仓库解压后的内容覆盖到C:\用户\sonatype-work\nexus\storage\central目录。 #### 二、Maven配置 1. **配置...

    Nexus源码包

    7. **RESTful API**:Nexus提供RESTful API,允许通过编程方式与仓库进行交互,如上传、下载组件。 源码包"nexus-2.2-01"包含了以下主要模块: - **Sonatype Aether**:Aether是Maven库解析和操作的API,Nexus使用...

    nexus-indexer-lucene-plugin-2.6.1-01.zip

    标题 "nexus-indexer-lucene-plugin-2.6.1-01.zip" 提供的信息表明,这是一个与Nexus仓库管理器相关的Lucene插件。Nexus是Sonatype公司提供的一个强大的Maven、NPM、Yarn、RubyGems、Python、Composer等软件包仓库...

    indexer.tar.gz:使用ctags索引项目中的所有文件(可以用作project.tar.gz的附件)

    本文将深入探讨如何使用Vim插件`Indexer`来创建和维护项目的索引,以便更有效地浏览和导航源代码。`Indexer`配合`Vimprj`使用,能为项目提供实时更新的标签,提高开发效率。 `ctags`是一个常用的工具,用于生成源...

    Lucene-2.0学习文档

    《深入理解Lucene-2.0:从源码到应用》 Lucene是一个开源的全文检索库,由Apache软件基金会开发并维护。它为Java开发者提供了强大的文本搜索功能,广泛应用于各种信息检索系统中。本篇文章将围绕"Lucene-2.0学习...

    完全手册:c#2.0程序设计详解电子教程

    包括属性(Property)、索引器(Indexer)、委托(Delegate)、事件(Event)等,都是C# 2.0中重要的编程概念。 通过《完全手册:C#2.0程序设计详解电子教程》,开发者不仅能学习到C# 2.0的基本语法,还能深入理解...

    DotLucene演示源码.rar

    该示例中DotLucene版本为 1.3,Highlighter版本为1.3.2.1,如果下载最新的lucene(Lucene.Net-2.0-004) 【该源码由51aspx提供】   源码 " width="468" resize="true" onerror="this.src='/images/ifnoimg....

    indexer-cli-5.1.1.jar

    indexer-cli-5.1.1.jar,用于解压maven中央库索引文件,解压后的索引文件可用于搭建nexus2私有库。需配合nexus-maven-repository-index.gz与nexus-maven-repository-index.properties使用。

    eth-indexer:一个以太坊项目,用于将区块链状态爬行到数据库中

    eth-indexer是一个以太坊区块链索引器项目,用于将每个块/地址的块,事务和状态差异爬到MySQL数据库中。 入门 该项目包含3个主要组成部分: geth:修改geth以获取每个块/地址的状态差 idx-database:MySQL存储所有...

    folder-indexer:Java Lucene 文件夹索引器

    介绍这是一个java文件夹索引器。 它基于 Lucene 5.1.0。 它索引一个文件夹,然后打开一个端口,您可以在该端口... 您可以使用java -jar folder-indexer-version.jar-with-dependencies.jar [OPTIONS]启动它。开始命令行

    maven-indexer:Apache Maven索引器

    贡献给 您已发现错误或对超酷的新功能有任何想法? 贡献代码是将某些东西还给开源社区的好方法。 在深入研究代码之前,我们需要一些准则供贡献者遵循,以便我们有机会掌握最新知识。入门确保您拥有。...

    elastic-indexer:CENDARI 项目中 ElasticSearch 的索引器

    提供一个 Facade 对象fr.inria.aviz.elasticindexer.Indexer来执行几个操作: 使用(扩展)Tika 的结果来解析文件并返回文本内容和元数据。 结果将转换为 DocumentInfo 类型。 通过发送到elasticsearch来索引...

    indexer:将目录内容索引为.ttl文件

    索引器在制品安装从下载用法FIXME:说明通过:exec-fn直接运行项目: $ clojure -X:run-xHello, Clojure!运行项目,覆盖要问候的名称: $ clojure -X:run-x :name '"Someone"'Hello, Someone!通过:main-opts ( -m ...

    Log-Indexer:一个使用RavenDb的小日志索引器

    **Log-Indexer: 使用RavenDb构建的日志索引器** 日志索引器是IT运维中的关键工具,它能够高效地收集、存储和分析应用程序产生的日志数据。`Log-Indexer`是一个基于RavenDb的小型日志管理解决方案,特别适合处理大量...

    java-Email-indexer:快速电子邮件搜索和索引

    "java-Email-indexer" 是一个基于 Java 开发的电子邮件搜索和索引工具,专门设计用于提高电子邮件的检索效率。它利用了 Lucene 库进行高效的全文索引,使得用户能够快速地查找和定位电子邮件内容。 **描述详解:** ...

    pdf-indexer:一个虚拟的简单 pdf 索引器

    PDF-Indexer是一个基于JavaScript开发的虚拟简单PDF索引器工具。这个工具的主要目标是帮助用户更有效地管理和搜索PDF文档中的内容。JavaScript是一种广泛应用于Web开发的编程语言,因此PDF-Indexer通常作为Web应用...

    npmjs_indexer:基于ElasticSearch的npmjs数据库索引器

    用法索引编制初始化./indexer.js --init [--es elasticsearch_address:port] [--couchdbouchdb_address:port / database] [--freq refresh_frequency_secs]更新./indexer.js [--es elasticsearch_address:port] ...

    indexer:刮网。 转到每个看不见的链接

    【标题】:“indexer:刮网。 转到每个看不见的链接” 【描述】:“索引器,刮网,转到每个看不见的链接”这一描述暗示了一个项目或工具,它专注于通过网络爬虫技术抓取和处理互联网上的数据,包括那些在普通浏览时...

Global site tag (gtag.js) - Google Analytics