在前面讲到了RabbitMQ高可用集群的搭建,但是我们知道只是集群的高可用并不能保证应用在使用消息队列时完全没有问题,例如如果应用连接的RabbitMQ集群突然宕机了,虽然这个集群时可以使用的,但是应用订阅的连接就断开了,如果有个机房外网出口带宽被挖掘机弄断了,那集群依然是不可用的.所以我们后面会介绍应用APP如何与连接集群来保证两者配合默契,以及如何实现跨机房的集群复制. 应用连接集群高可用 前面讲到应用服务器通过一个负载均衡服务将连接的流量分发到指定服务器,如果连接的节点宕机怎么办呢.应用服…
一.kafka一个最基本的架构认识 由多个broker组成,每个broker就是一个节点:创建一个topic,这个topic可以划分为多个partition,每个partition可以存在于不同的broker上,每个partition存放放一部分数据. kafka就是一个分布式消息队列,就是说一个topic的数据,是分散放在多个机器上的,每个机器就放一部分数据. 实际上像rabbitmq之类的,并不是分布式消息队列,它只是传统的消息队列,只不过提供了一些集群.HA的机制而已,因为rabbitmq…
一:kafka介绍kafka(官网地址:http://kafka.apache.org)是一种高吞吐量的分布式发布订阅的消息队列系统,具有高性能和高吞吐率. 1.1 术语介绍BrokerKafka集群包含一个或多个服务器,这种服务器被称为brokerTopic主题:每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic.(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于…
一:kafka介绍 kafka(官网地址:http://kafka.apache.org)是一种高吞吐量的分布式发布订阅的消息队列系统,具有高性能和高吞吐率. 1.1 术语介绍 BrokerKafka集群包含一个或多个服务器,这种服务器被称为brokerTopic主题:每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic.(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生产或消费数据而不必关心数据…
前面几篇文章中讲了一些关于消息队列的知识,就每中消息队列中间件,我们并没有做详细的讲解,那么,今天我们就来详细的讲解一下消息队列之一kafka的一些基本的使用与操作. 一.kafka介绍 kafka:是一种高吞吐量的分布式发布订阅的消息队列系统,具有高性能和高吞吐率. 1.1术语介绍 Broker kafka集群包括一个或多个服务器,这种服务器被称为Broker Topic 主题:每条发布到kafka集群的消息都有一个类别,这个类别被称为Topic,(物理上不同Topic的消息分开存储,逻辑上一…
ERP之痛 曾几何时,我混迹于电商.珠宝行业4年多,为这两个行业开发过两套大型业务系统(ERP).作为一个ERP系统,系统主要功能模块无非是订单管理.商品管理.生产采购.仓库管理.物流管理.财务管理等等.作为一个管理系统,大家的一般开发习惯就是使用.Net或Java技术,建立一个单块(单进程)架构的应用,只有一个SQLServer或MySql数据库.然后在项目文件中分一下各个模块,三层结构方式组织代码编写开发.最后测试,交付上线. 起初,因为数据量不大,系统性能还不错,各种列表查询,报表查询,E…
前言 消息队列在现今数据量超大,并发量超高的系统中是十分常用的.本文将会对现时最常用到的几款消息队列框架 ActiveMQ.RabbitMQ.Kafka 进行分析对比.详细介绍 RabbitMQ 在 Sprinig 框架下的结构及实现原理,从Producer 端的事务.回调函数(ConfirmCallback / ReturnCallback)到 Consumer 端的 MessageListenerContainer 信息接收容器进行详细的分析.通过对 RabbitTemplate.Simpl…
消息队列中间件的使用并不复杂,但如果你对消息队列不熟悉,很难构建出健壮.稳定并且高性能的企业级系统,你会面临很多实际问题: 如何选择最适合系统的消息队列产品? 如何保证消息不重复.不丢失? 如果你掌握了消息队列的底层技术,无论使用哪种消息队列产品,你都可以从原理层面来分析问题,再简单看一下它的API和相关配置项,就能很快知道该如何配置消息队列,写出高性能并且可靠的程序. 李玥将从源码的角度带你了解消息队列,让你具备从源码角度分析和解决实际业务问题的能力,并且借由消息队列的底层技术,带你了解其优秀…
概述 场景 服务解耦 削峰填谷 异步化缓冲:最终一致性/柔性事务 MQ应用思考点 生产端可靠性投递 消费端幂等:消息只能消费一次 高可用.低延迟.可靠性 消息堆积能力 可扩展性 业界主流MQ ActiveMQ:适合传统需求,并发性差 RabbitMQ:扩展性差 RocketMQ:扩展性强 Kafka:扩展性强,并发性强,可靠性差 技术选型 性能.优缺点.业务场景 集群架构模式,分布式.可扩展.高可用.可维护性 综合成本,集群规模,人员成本 未来的方向.规划.思考 ActiveMQ 介绍 JMS(…
转自http://cmsblogs.com/?p=3846 在IM这种讲究高并发.高消息吞吐的互联网场景下,MQ消息中间件是个很重要的基础设施,它在IM系统的服务端架构中担当消息中转.消息削峰.消息交换异步化等角色. 当然,MQ消息中间件的作用远不止于此,它的价值不仅仅存在于技术上,更重要的是改变了以往同步处理消息的思路(比如进行IM消息历史存储时,传统的信息系统作法可能是收到一条消息就马上同步存入数据库,这种作法在小并发量的情况下可以很好的工作,但互联网大并发环境下就是灾难). MQ消息中间件…