消息队列
豆腐花发
哦呜
展开
-
kafka原理
kafka 保证消息不丢失原因如下有:1)生产者如果异步发送,会造成消息丢失,发送的过程中kafka会先把消息缓存起来。然后批量发送。 若批量发送之前client宕机会造成消息丢失。生产者不丢失消息需要同步发送2)kafka服务器默认异步刷盘,先刷到系统页缓存,然后再刷新到日志文件。页缓存的数据可能会丢失。解决可以同步的方式刷盘,但是这样效率很低,比rabbitmq低。对于我说的第二点有点...原创 2019-02-19 21:29:04 · 322 阅读 · 0 评论 -
ActiveMQ
什么是activemqactiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。activemq的作用以及原理Activemq 的作用就是系统之间进行通信。 当然可以使用其他方式进行系统间通信, 如果使用 Activemq 的话可以对系统之间的调用进行解耦, 实现系统间的异步通信。 原理就是生产者生产消息...原创 2019-02-26 22:24:07 · 168 阅读 · 0 评论 -
消息队列的使用场景
4种,异步处理,应用解耦,流量削锋和消息通讯异步处理同一个服务发邮件,发短信应用解耦不同服务的订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作流量削锋用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错...转载 2019-04-20 21:36:07 · 76 阅读 · 0 评论 -
kfka主从同步
Kafka的副本功能不是必须的,你可以配置只有一个副本,这样其实就相当于只有一份数据比如有3个副本,那么有1个leader,2个flower创建副本的单位是topic的分区,每个分区都有一个leader和零或多个followers.所有的读写操作都由leader处理,一般分区的数量都比broker的数量多的多,各分区的leader均匀的分布在brokers中。所有的followers都复制le...原创 2019-04-22 09:45:09 · 230 阅读 · 0 评论 -
Kafka使用问题
1.关于Kafka的分区:开始使用Kafka的时候,没有分区的概念,以为类似于传统的MQ中间件一样,就直接从程序中获取Kafka中的数据。后来程序搭建了多套,发现永远只有一个消费者(消费者应用部署在多个tomcat上)会从Kafka中获取数据进行处理,后来才知道有分区这么一个概念。具体不说了,网上有很多资料,总的概括:Kafka的分区,相当于把一个Topic再细分成了多个通道,一个消费者应用...原创 2019-04-22 10:50:23 · 133 阅读 · 0 评论 -
kafka源码1-生产者
由KafkaTemplete发起发送请求,可分为如下几个步骤:一、数据入池1.KafkaProducer启动发送消息2.消息发送拦截器拦截3.用序列化器把数据进行序列化4.用分区器选择消息的分区5.添加进记录累加器二、NIO发送数据6.等待数据条数达到批量发送阀值或者新建一个RecoedBatch,立即唤醒Sender线程执行run方法7.发送器内部从累加器Deque中拿到要发送...原创 2019-04-22 15:45:34 · 389 阅读 · 0 评论 -
Rocketmq介绍和安装
2.安装2.1.源码安装2.1.1.安装maven上传解压Mkdir /home/mavenCd /home/mavenRz D:\javasoftware\maven\apache-maven-3.5.2-bin.tar.gzTar -zxf apache-maven-3.5.2-bin.tar.gz配置环境变量Vim /etc/profile,添加export PATH=/...原创 2019-07-08 15:12:17 · 414 阅读 · 0 评论 -
rocketmq集成boot
3.1.启动3.1.1.启动namesrvnohup sh mqnamesrv > /dev/null 2>&1 &3.1.2.修改broker.confvim …/conf/broker.conf最下面添加两行namesrvAddr = 192.168.5.128:9876brokerIP1 = 192.168.5.128Ip是虚拟机的ip3.1....原创 2019-07-08 15:17:46 · 156 阅读 · 0 评论 -
rocketmq原理
介绍RocketMQ是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在2016年底捐赠给Apache开源基金会成为孵化项目,经过不到一年时间正式成为了Apache顶级项目;早期阿里曾经基于ActiveMQ研发消息系统, 随着业务消息的规模增大,瓶颈逐渐显现,后来也考虑过Kafka,但因为在低延迟和高可靠性方面没有选择,最后才自主研发...原创 2019-07-17 10:40:29 · 624 阅读 · 0 评论