高可用消息队列框架ZBUS

我们在日常开发中可以需要用到消息队列 当然我们完全可以自己写一个生产者-消费者框架 但是高可用性、实时性已经大量数据堆积时候就显得问题捉襟见肘了下面推荐的框架在我时间项目中和测试中都是非常不错那么他是什么框架呢?

   zbus git地址 http://git.oschina.net/rushmore/zbus ZBUS=MQ+RPC 服务总线 1)支持消息队列, 发布订阅, RPC, 交易系统队列适配 2)亿级消息堆积能力、支持HA高可用 3)无依赖单个Jar包 ~300K 4)丰富的API--JAVA/C/C++/C#/Python/Node.JS多语言接入,支持HTTP等协议长连接入。。。详情见git描述。

 

ZBUS--轻量级MQ、RPC、服务总线

ZBUS = MQ + RPC + PROXY

  • 支持消息队列, 发布订阅, RPC, 代理(TCP/DMZ)
  • 亿级消息堆积能力、支持HA高可用
  • 单个Jar包无依赖 ~300K
  • 服务代理 -- 适配改造已有业务系统,使之具备跨平台与语言
  • 丰富的API--JAVA/C/C++/C#/Python/Node.JS多语言接入

 怎样使用呢?

  很简单在项目中直接引入zbus-6.2.0.jar  开发c-p

 

  p:

   
public class ConsumerExample {
 public static void main(String[] args) throws Exception{ 
  //创建Broker代表
  BrokerConfig brokerConfig = new BrokerConfig();
  brokerConfig.setServerAddress("127.0.0.1:15555");
  Broker broker = new SingleBroker(brokerConfig);
  
  MqConfig config = new MqConfig();
  config.setBroker(broker);
  config.setMq("MyMQ");
  
  //创建消费者
  @SuppressWarnings("resource")
  Consumer c = new Consumer(config); 
  c.onMessage(new MessageHandler() {
   @Override
   public void handle(Message msg, Session sess) throws IOException {
    System.out.println(msg);
   }
  });
  
  c.start();
 }
}

  c:public static void main(String[] args) throws Exception {
  //创建Broker代理
  BrokerConfig config = new BrokerConfig();
  config.setServerAddress("127.0.0.1:15555");
  final Broker broker = new SingleBroker(config);
 
  Producer producer = new Producer(broker, "MyMQ");
  producer.createMQ(); // 如果已经确定存在,不需要创建

  //创建消息,消息体可以是任意binary,应用协议交给使用者
  
  long total = 0;
  for(int i=0;i<1000000000;i++){
   long start = System.currentTimeMillis();
   Message msg = new Message();
   msg.setBody("hello world"+i);
  
   producer.sendSync(msg); 
   long end = System.currentTimeMillis();
   total += (end-start);
   System.out.format("Time: %.1f\n", total*1.0/(i+1));
  }
  
  broker.close();
 }

  启动zbus服务  zbus.bat批处理文件 需要注意设置 jdk路径

   REM SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_80

SET ZBUS_HOME=.
SET JAVA_OPTS=-server -Xms64m -Xmx1024m -XX:+UseParallelGC
SET MAIN_CLASS=org.zbus.mq.server.MqServer
SET MAIN_OPTS=-h 0.0.0.0 -p 15555 -thrift 0.0.0.0:25555 -verbose false -store store -track
SET LIB_OPTS=%ZBUS_HOME%/lib;%ZBUS_HOME%/*;

IF NOT EXIST "%JAVA_HOME%" (
    SET JAVA=java
) ELSE (
    SET JAVA=%JAVA_HOME%\bin\java
)
"%JAVA%" %JAVA_OPTS% -cp %LIB_OPTS% %MAIN_CLASS% %MAIN_OPTS%

  

 ok 可以开始体验了!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值