文档章节

Apollo简介和源码搭建

中成才
 中成才
发布于 2015/04/29 00:24
字数 1215
阅读 150
收藏 0
点赞 0
评论 0

Apache Apollo

官网参考:http://activemq.apache.org/apollo/

Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。

源码地址:http://activemq.apache.org/apollo/community/source.html

官网参考手册:http://activemq.apache.org/apollo/versions/1.0/website/documentation/

checkOut :http://svn.apache.org/repos/asf/activemq/activemq-apollo/trunk

 

看代码:

首先准备:

Java 1.6

Download and install Maven 3

Get the latest source(用svn checkout)


mvn 搭建项目:

首先设置mvn : set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m


通常情况下,用该命令编译项目:mvn install。如果编译通过会在apollo-distro/target目录下找到项目编译文件。

如果不用上面的命令,可以用下面这个稍微简介一些的命令(速度快,可以跳出test) mvn -Dtest=false install


如果你想用maven生成 IDE 的 .project ,可以使用:mvn eclipse:eclipse


将项目导入 eclipse 准备工作:

 1. 将maven 库导入IDE(eclipse)。 Java -> Build Path -> Classpath 定义一个新的变量:M2_REPO 指向 maven repository。在windows通常是 c:\Documents and Settings\$username\.m2\repository

你也可以通过maven命令执行上面的设置操作:mvn eclipse:add-maven-repo -Declipse.workspace=/path/to/the/workspace/

 2. 因为项目中还有**.jj 文件,也就是javacc 代码,所有你还要安装javacc eclipse plugin 

安装javacc eclipse 插件的方法可以参考:(值得注意的是javacc 插件目前最高只支持3.7.2 ,所以你的eclipse最好用3.6, 3.6.2, 3.7, 3.7.2 。)

http://eclipse-javacc.sourceforge.net/

3. 因为项目中有scala代码,所以为了编译成功需要安装scala插件。

具体可以参看:http://blog.csdn.net/wuyinxian/article/details/38727717


如果下载很慢,我有提供资源 : 源代码

如果导入Eclipse,也安装了scala 插件,还是有一些项目报错,你需要用jar包替换报错的项目:下载jar包(1.5)


下面是更多关于Apache Apollo的介绍

原文地址:http://java.dzone.com/articles/introducing-apache-apollo-part


Apache Apollo是下一代的ActiveMQ系统。为了在多核的计算机上有更快的处理速度和更大的处理规模,Apollo“从头开始”重新设计了内核。ActiveMQ是最受欢迎的开源消息中间件(如果不是最受欢迎的,OneCoder注:作者意思应该是指如果不仅仅在开源界),并且有很好的性能,消息持久化,高可用性以及网络代理(networks of brokers)等特性。最重要的是,ActiveMQ已经在使用中变得十分稳定,并且我们已经成功使用ActiveMQ支持了如零售、银行、电子上午和政府等领域的世界知名企业。 


随着ActiveMQ的逐渐壮大, 其内部复杂的线程实现,导致其在高核心,高资源配置的计算机上扩展性不佳。线程实现问题的关键点不在于不合适的线程使用,更多的是因为其设计和开发之初,是处在没有很多可靠的异步Java API和非阻塞的IO库的时期。任何系统在有状态共享,争用同步(contended synchronizations ),独占锁的情况下都容易有扩展性问题。 


然而,ActiveMQ在其擅长的领域表现尚可,并且由于在现在很稳定,重写其线程架构似乎并不是一个好注意。所以,Apollo诞生了,现在是ActiveMQ的一个子项目。我们仍可以沿用ActiveMQ5.x系列的使用习惯去使用他,不过现在是在新的线程架构之下,并且可以支持未来百万级别的消息目标地址,成千上万的连接,高吞吐率以及对资源的最大程度的利用。特别是,当后端的兼容性完成以后,Apollo便会成为ActiveMQ6.0。 


对于那些提问说:“这是否意味着ActiveMQ的寿命即将终止?”的人。斩钉截铁的回答:不!。ActiveMQ在那之前还有很长的路要走,如之前提到的正在被企业领导所使用。ActiveMQ的Bug的修复和支持仍然依赖于FuseSource (不久将会变为RedHat),当然还有社区。只要对社区的兴趣还在,ActiveMQ(包括其他的Apache项目)就不会消亡。 


Apollo的目标不是遥不可及,它也不是一个新生的工程。它其实已经开发2年多了,在beta阶段有6个版本,在2012年2月发布了1.0版。已经有不少的人在使用Apollo。Apollo的开发经理 Hiram Chirino发布Apollo与其他消息代理的一些参数指标的对比,如:RabbiMQ,HornetQ以及ActiveMQ。参见 the stomp benchmarks here 和 the JMS benchmarks. 


 因为项目中还有**.jj 文件,也就是javacc 代码,所有你还要安装javacc eclipse plugin 

安装javacc eclipse 插件的方法可以参考:(值得注意的是javacc 插件目前最高只支持3.7.2 ,所以你的eclipse最好用3.6, 3.6.2, 3.7, 3.7.2 。)

http://eclipse-javacc.sourceforge.net/


本文转载自:http://blog.csdn.net/wuyinxian/article/details/38826099

共有 人打赏支持
中成才
粉丝 51
博文 125
码字总数 43471
作品 0
海淀
架构师
owenwangwen/open-capacity-platform

open-capacity-platform 微服务能力开发平台 项目简介 1.用户登录 2.用户管理 3.角色管理 4.菜单管理 5.角色菜单管理 6.注册中心 7.配置中心 8.应用列表以及资料列表页面正在开发中,敬请期待...

owenwangwen
04/16
0
0
基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)

前言 前几天对Apollo配置中心的demo进行一个部署试用,现公司已决定使用,这两天进行分布式部署的时候,每一步都踩着坑过来的。因此写文档与需要的朋友分享。 此篇文章不代表官方部署流程,只...

陈珙
前天
0
0
2018年的学习计划

转眼间,2017年过去了,在过去的一年里,成长颇多,感受颇多,当然,收获也颇多。能够在2017年里,将quartz,xxl-job,elastic-job-Lite源码读一遍,学到了很多东西。 整理了一下自己感兴趣的...

一滴水的坚持
01/06
0
0
搭建IM服务 so easy

现在很多网站、APP都通过IM服务来实现消息推送及数据即时同步功能,即时通讯组件逐渐成为产品的标配。目前国内有很多成熟稳定的第三方即时通讯服务厂家,比如:融云。使用这些专业的服务可以...

一等兵
2016/03/22
1K
9
wuce7758/Apollo-platform

1、Apollo 简介 希腊神话传说中太阳神,宙斯和勒托之子,月神和狩猎女神阿尔忒弥斯的孪生哥哥,希腊十二大神只之一,又名福波斯,闪光之神。 最了不起的是他的预言本领。他代表着光明,永远年...

wuce7758
2017/09/06
0
0
解析百度Apollo自动驾驶平台

最近对百度的自动驾驶平台Apollo项目做了一些了解。下面将我所了解到的一些信息分享给大家。 Apollo项目介绍 阿波罗(Apollo)是百度发布的面向汽车行业及自动驾驶领域的合作伙伴提供的软件平...

paulquei
06/25
0
0
29. Apache apollo和mqtt下载和部署

一. 简介 引用其他文章: Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。 Apollo允许客户端通过...

rongwei84n
2017/07/06
0
0
【百度无人车差异化竞争分析】百度无人驾驶核心公司竞争力解读

本文基于陆总(集团总裁兼首席运营官)宣布的百度Apollo计划的研究,进行差异化竞争分析。 4月19日,百度发布一项名为“Apollo”的新计划,将向汽车行业及自动驾驶领域的合作伙伴提供一个开放...

zhangty0223
2017/04/27
0
0
基于 MQTT 协议的推送服务

一、简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1...

什么都不懂的小石
04/27
0
0
30.Apollo源代码在mac下编译

一. Apollo简介 Apache Apollo是一个代理服务器,其是在ActiveMQ基础上发展而来的,可以支持STOMP, AMQP, MQTT, Openwire, SSL, and WebSockets 等多种协议。 官网链接 自己使用Apollo主要是...

rongwei84n
2017/07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JPA @MappedSuperclass 注解说明

基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上:@Target({java.lang....

海博1600
12分钟前
0
0
Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
1
0
使用cookie技术 记住账号

1. 效果 2. 实现过程 2.1 前端 将用户的选中传递给后台 这个参数的获取是 参考:https://my.oschina.net/springMVCAndspring/blog/1860498 // var rememberLogin = $("#rememberLoginId").i...

Lucky_Me
今天
1
0
《趣谈网络协议》02之网络分层的真实含义

一、提出问题 1.提出问题 当你听到什么二层设备、三层设备、四层 LB 和七层 LB 中层的时候,是否有点一头雾水,不知道这些所谓的层,对应的各种协议具体要做什么“工作”? 2.这四个问题你弄...

aibinxiao
今天
2
0
Python3学习日志二 Python中的集合set和字典dict

1.集合set 定义一个集合set 我们可以看到定义集合set有两种不同的形式,如果要定义一个空的集合set不能用{}而是要用set();另外,集合是无序的,而且set中的元素是不可重复的,如果你定义了一...

Mr_bullshit
今天
0
0
adb 操作指令详解

ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。 注:有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。...

孟飞阳
今天
0
0
nodejs安装以及环境配置(很好的node安装和配置文章,少走很多弯路)

一、安装环境 1、本机系统:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位) 二、安装Node.js步骤 1、下载对应你系统的Node.js版本:https://nodejs.org/en/download/ 2、选安装目录进...

sprouting
今天
1
0
Redisson

了解了Redisson,发现使用挺简单的,接下来准备深入学习一下。 Redisson介绍 Redisson是架设于Redis基础之上的一个Java驻内存数据网格(In-Memory Data Grid) Redisson在基于NIO的Netty框架上...

to_ln
今天
0
0
python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向! 今天给...

python玩家
今天
0
0
python爬虫日志(3)-爬去异步加载网页

在浏览器检查元素页面中,选取Network中的XHR选项即可观察每次加载页面,网页发出的请求,观察url的规律即可利用封装的函数对每一页进行爬取。

茫羽行
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部