`
1028826685
  • 浏览: 938477 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

高可用消息队列框架ZBUS

    博客分类:
  • Web
 
阅读更多

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

   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 可以开始体验了!!!

分享到:
评论

相关推荐

    zbus消息服务框架 v1.0.0.zip

    **zbus消息服务框架 v1.0.0.zip** 是一个包含了zbus框架源码及相关文档的压缩包,主要用于提供消息服务解决方案。zbus是一个高效、稳定且易用的消息中间件,它支持多种消息模式,如发布/订阅、点对点等,常用于构建...

    zbus消息服务框架 v1.0.0

    为您提供zbus消息服务框架下载,zbus核心是一个独立实现的小巧极速的消息队列(MQ),支持持久化与内存队列, 支持单播、广播、组播等多种消息通信模式;在MQ之上zbus完备地支持了RPC服务,RPC支持独立伺服,基于...

    基于Java的高性能、低时延、高可用zbus服务总线设计源码

    该项目是一款基于Java的高性能、低时延、高可用zbus服务总线设计源码,包含198个文件,涵盖152个Java源文件、12个XML配置文件、6个HTML文件、6个JAR包文件、4个Markdown文件、4个属性文件、2个JavaScript文件、2个...

    ZBus消息中间件

    5. **流量削峰填谷**:在高并发场景下,通过消息队列缓解系统压力,平滑处理流量高峰。 总之,ZBus凭借其易用性、高可用性和高性能,在国内IT领域得到了广泛应用,为开发者提供了强大的消息处理能力,是构建现代化...

    zbus消息服务框架-其他

    zbus核心是一个独立实现的小巧极速的消息队列(MQ),支持持久化与内存队列, 支持单播、广播、组播等多种消息通信模式;在MQ之上zbus完备地支持了RPC服务,RPC支持独立伺服,基于总线两种模式;同时zbus支持代理...

    zbus-master.zip

    作为一个面向高性能和低延迟优化的轻量级服务总线,zbus致力于提供稳定且高效的RPC(Remote Procedure Call)以及消息队列服务。它不仅简化了服务间的通信复杂性,还提升了系统的整体响应速度和可扩展性。 在zbus的...

    浏览器和节点的 zbus java脚本客户端.js

    "浏览器和节点的 zbus java脚本客户端.js" 是一个专为浏览器环境和Node.js设计的轻量级JavaScript库,它使得在Web应用和Node.js服务中与Zbus(一个高性能的消息中间件)进行交互变得简单易行。Zbus通常用于实现...

    zbus.zip_zbus_zip

    标题中的"zbus.zip_zbus_zip"可能是一个包含ZBUS算法实现的压缩文件,而"ZBUS"在IT行业中并没有广泛被认知的标准定义,可能是特定项目或研究中的专有名词,或者是作者自创的简称。从描述来看,这个压缩包包含的是用...

    基于matlab隐式Zbus高斯法配电网潮流计算

    function loss = pf_zbus() [branchData,PQ,V1] = InputData(); PQ = PQ/1000; busCount = max(max(branchData(:,1:2))); Y = CreateY(branchData); Y22 = Y(2:end,2:end); Y21 = Y(2:end,1);

    分布式 Javaweb 快速开发框架 Lambkit

    实现了多种应用功能:微服务架构、基于zbus或motan的RPC框架、用户与权限管理、基于Redis的分布式session技术、基于zbus的消息框架、E-Mail后台发送技术、后台接口展示技术、分布式节点动态管理、自定义反向代理。...

    gaussppg.zip_amp_zbus_zip

    标题“gaussppg.zip_amp_zbus_zip”和描述“Modification &amp; Dynamic ZBUS”表明这个压缩包可能包含与电力系统分析相关的MATLAB代码,特别是涉及到ZBUS(Z-Bus)模型的修改和动态模拟。AMP在这里可能是Amplifier...

    Zbus Building Algorithm:直接计算电力系统的Zbus-matlab开发

    该文件直接计算电力系统的 Zbus。 它没有遵循先计算Ybus然后取其逆的方法,这在总线数量很大时会很麻烦。 Zbus的计算方法取自书中: John J.Grainger, William D.Stevenson,Jr.,电力系统分析 用法: 它从文件...

    基于Python实现的zbus Python客户端设计源码

    该项目为基于Python实现的zbus客户端设计源码,包含22个文件,包括16个Python源代码文件、1个Git忽略文件、1个许可协议文件、1个Markdown文件、1个HTML文件、1个配置文件、1个批处理文件。项目旨在为用户提供zbus的...

    仿百度文库完整项目使用spring boot+Libroffice+swftools实现的一个类似百度文库的实例

    #技术框架 核心框架:Spring Boot 1.4.0 视图框架:Spring MVC 4.3.4 视图模版: Thymeleaf 3.0.2 持久层框架:Spring Data Jpa 数据库连接池:Druid ...zbus 用到了Zbus MQ处理转换的队列(ps:其实可以不用)

    ZBus - message bus for PHP apps-开源

    ZBus-PHP应用程序的消息总线,管理应用程序流和插件之间的API消息传递。

    开源工程httpsgitee.comopenforcezbus.git,代码保持原始版本,_zbus.zip

    开源工程httpsgitee.comopenforcezbus.git,代码保持原始版本,_zbus

    ZYbus:使用直接法的电力系统的 Zbus 和 Ybus-matlab开发

    使用直接法的电力系统的 Zbus 和 Ybus

    Jboot微服务框架-其他

    6、MQ消息队列  rabbitmq  redismq  阿里云商业MQ  activemq  zbus 7、缓存  ehcache  redis  分布式二级缓存ehredis 8、分布式session 9、分布式锁 10、任务调度  cron4j  ScheduledThreadPoolExecutor ...

Global site tag (gtag.js) - Google Analytics