博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apollo简介和源码搭建
阅读量:6371 次
发布时间:2019-06-23

本文共 2332 字,大约阅读时间需要 7 分钟。

hot3.png

Apache Apollo

官网参考:

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

源码地址:

官网参考手册:

checkOut :

 

看代码:

首先准备:

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 。)

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

具体可以参看:

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

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

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

原文地址:

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 。)

转载于:https://my.oschina.net/weichou/blog/407478

你可能感兴趣的文章
1、集合 2、Iterator迭代器 3、增强for循环 4、泛型
查看>>
关于/var/run/docker.sock
查看>>
SCrapy爬虫大战京东商城
查看>>
用 JavaScript 实现链表操作 - 11 Alternating Split
查看>>
Laravel优秀扩展包整理
查看>>
日志分析之识别真假蜘蛛与处理办法
查看>>
太多脚本将会毁掉持续交付
查看>>
一地鸡毛 OR 绝地反击,2019年区块链发展指南
查看>>
卢森堡大学发布RepuCoin系统,可破解区块链51%攻击
查看>>
国内云计算厂商众生相:四大阵营十几家企业生存盘点
查看>>
细说Unicode(一) Unicode初认识
查看>>
Node.js有了新的管理者
查看>>
Java 20年:历史与未来
查看>>
彻底理解Javascript中的原型链与继承
查看>>
腾讯最大规模裁撤中层干部,让贤年轻人
查看>>
如何:强化 TCP/IP 堆栈安全
查看>>
Spring3 MVC中使用Swagger生成API文档
查看>>
FastCGI PHP on Windows Server 2003
查看>>
LimeSDR Getting Started Quickly | LimeSDR上手指南
查看>>
JSP标签JSTL的使用(1)--表达式操作
查看>>