Jafka

分布式消息系统
授权协议 Apache
开发语言 Java
所属分类 服务器软件、 JMS/消息中间件
软件类型 开源软件
地区 国产
投 递 者 唐阳泽
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Jafka 是一个高性能的跨语言分布式消息系统。Jafka已经开源,使用github托管。

Jafka是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来。Jafka 1.0完整遵循Kafka 0.7的规范,几乎是Kafka的克隆版(有一些改进和调整)。

Jafka有几个吸引人的特性:

  • 消息持久化非常快,服务端存储消息的开销为O(1),并且基于文件系统,能够持久化TB级的消息而不损失性能
  • 吞吐量很大,在我的笔记本DELL E6220、Fedora 16 x86_64下单CPU内核运行,使用Jafka内置的python客户端,吞吐量能够达到300k/s
  • 完全的分布式系统,broker、producer、consumer都原生自动支持分布式。自动实现复杂均衡。
  • 内核非常小,整个系统(包括服务端和客户端)只有一个272KB的jar包,内部机制也不复杂,适合进行内嵌或者二次开发 。整个服务端加上依赖组件共3.5MB。
  • 消息格式以及通信机制非常简单,适合进行跨语言开发。目前自带的Python 3.x的客户端支持发送消息和接收消息。
Jafka的Java客户端已经提交到 Maven中央仓库
  • Jafka 是一个开源的、高性能的、跨语言分布式消息系统,使用GitHub托管。 Jafka最早是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来。     Jafka mq is a distributed publish-subscribe messaging system cloned from Apache Kafka. So it has the follo

  • 1 搭建实例 A 下载包 B 修改 jafka.conf修改 jafka_home修改绝对路径 set.JAFKA_HOME=/opt/apps/jafka-1.2.1 我发现不改也没事 C 运行jafkamq sh ./bin/server.sh conf/server.properties d 运行和停止 ./run.sh start  …../ console ./run.sh stop E

  •   jafka作为kafka的java实现的消息队列,基本按照kafka的设计思路实现的。kafka消息队列的消息先写磁盘再消费,kafka写消息有如下几点重要的设计:     (1)每次写消息都是文件追加(顺序写),尽量减少磁盘寻道时间;     (2)每次写消息不是直接写磁盘,jafka按定时和写入消息数刷盘结合。定时刷是异步,默认3秒;写入消息数是同步,每次写入都会检查没有刷盘的消息数,如果

  • 分布式消息系统Jafka入门指南 作者:chszs,转载需注明。博客主页: http://blog.csdn.net/chszs 一、JafkaMQ简单介绍 JafkaMQ是一个分布式的公布/订阅消息系统,它是Apache Kafka的Java移植版。 2013年11月28日。JafkaMQ公布了1.2.3版。 JafkaMQ的特征例如以下:1)消息持久化到磁盘的算法时间复杂度为O(1),即使是T

  • 从本文开始,笔者将尝试从源码角度解读Jafka(Kafka)的特性,探究其背后的实现原理与技术。前面讲解Jafka Broker的文章中有提到下面这段启动服务端的代码,我们就从这里开始。 Properties props = new Properties(); props.setProperty("port","9093"); props.setProperty("log.dir","/home/

  • 在kafka中。每个broker都是一个server。依照一般理解,server就是一个SocketServer,其不断接收用户的请求并进行处理。在Java中进行网络连接有两种方式一种为堵塞模式一种为非堵塞模式。 Jafka採用非堵塞模式进行网络通讯。在Java的非堵塞模式中,建立socket server的一般流程例如以下: 1.启动ServerSocketChannel并将其绑定到特定的por

  • Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输。 支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输。 同时支持离线数据处理和实时数据处理

  • RabbitMQ RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量级,更适合于企业级的开发。同时实现了Broker构架,这意味着消息在发送给客户端时先在中心队列排队。对路由,负载均衡或者数据持久化都有很好的支持。 Redis redis是一个基于Key-Value对的NoSQL数据库,开发维护很活跃

  • nstall.zh_CN Ady Liu edited this page on May 5, 2013 ·  11 revisions  Pages 27 client client.zh_CN configuration configuration.zh_CN design design.zh_CN document document.zh_CN download faq.zh_CN hell

 相关资料
  • OpenStack使用消息传递(我想默认情况下是RabbitMQ?)用于节点之间的通信。另一方面,Kubernetes(谷歌内部博格的血统)使用RPC。Docker的swarm也使用了RPC。两者都是基于grpc/protofbuf的,在Google内部似乎也大量使用。

  • 主要内容:一、从一个新闻门户网站案例引入,二、推算一下你需要分析多少条数据?,三、黄金搭档:分布式存储+分布式计算这篇文章聊一个话题:什么是分布式计算系统? 一、从一个新闻门户网站案例引入 现在很多同学经常会看到一些名词,比如分布式服务框架,分布式系统,分布式存储系统,分布式消息系统。 但是有些经验尚浅的同学,可能都很容易被这些名词给搞晕。所以这篇文章就对“分布式计算系统”这个概念做一个科普类的分析。 如果你要理解啥是分布式计算,就必须先得理解啥是分布式存储,现在我们从一个小例子来引入。 比如说

  • YodaOS 中通过 YodaOS Message 完成对系统中的某个模块的定制化,本章节即是列出 YodaOS 中标准的消息接口,方便有需要的开发者对模块进行定制。 YodaOS Message 使用 yodaos-project/flora 作为 IPC 方式,它支持的数据结构包括: int float long double string binary 本章节描述中出现的number格式为i

  • 被别人指出问题时,别管别人能不能做到,看别人说的对不对,然后完善自己。别人能不能做到是别人的事情,自己能不能做到关系到自己能否发展的更好。——hustlihaifeng Go语言号称是互联网时代的C语言。现在的互联网系统已经不是以前的一个主机搞定一切的时代,互联网时代的后台服务由大量的分布式系统构成,任何单一后台服务器节点的故障并不会导致整个系统的停机。同时以阿里云、腾讯云为代表的云厂商崛起标志着

  • 数据存储容量的问题。 数据读写速度的问题。 数据可靠性的问题。 几种常见 RAID 的对比|名称|优点|缺点| |------|------|------| |RAID 0|使用 N 块磁盘的 RAID 0,将数据从内存写入磁盘时,将数据分成 N 块,并发写入,读取同理。所以,读写速度是单盘的 N 倍。|任何一块盘损坏,数据完整性破坏,数据不可用。| |RAID 1|数据写入磁盘时,将一份数据同时

  • 物联网有很多设备,通过这条指令可以向某个特定的物联网设备发送特定的消息内容。 请求方式: "|4|1|3|topic|message|" 参数: topic 设置订阅的topic,获取设备topic可参考教程 message 发布消息的内容 返回值: "|4|1|3|1|\r" 消息发送成功 "|4|1|3|2|\r" 消息发送失败 Arduino样例: softSerial.print("|4|