消息中间件
tiankongyun123
这个作者很懒,什么都没留下…
展开
-
网易云课堂学习- 消息中间件应用场景
MQ思路本质:中间件(独立部署,用于多个系统之间)–数据存储。MQ区别:开发语言不同–(接收请求–存储–分发)ActiveMQ --java语言阵营,针对MQ这种中间件的全面实现。RabbitMq --amqp - 性能高、可靠、入手简单(spring/rabbitmq由同一家公司维护)kafka – 海量数据传输(日志)Rocketmq - 后发优势-总结前人的经验,再次进行设计(借鉴了很多中间件的设计)持久化-刷盘-内存持久化到文件性能的关键-持久化<非持久化性能–MQ应用有序原创 2020-06-12 10:14:53 · 220 阅读 · 0 评论 -
网易云课堂学习- RocketMQ中高性能最佳实践
Producer最佳实践一个应用尽可能使用一个topic,消息子类型用tags来标识,tags可以由应用自由设置。只有发送消息设置了tags,消费方在订阅消息时,才可以利用tags在broker做过滤。message.setTags(“TagA”);每个消息在业务层面的唯一标识码,要设置到keys字段,方便将来定位消息丢失的问题。服务器会为每个消息创建索引(哈希索引),应用可以通过topic,key来查询这条消息内容,以及消息被谁消费。由于是哈希索引,请务必保证key尽可能唯一,这样可以避免潜原创 2020-06-12 09:44:28 · 436 阅读 · 0 评论 -
网易云课堂学习-rocketMq批量消息和事务消息
为什么使用批量消息在很多调优的时候,比如数据库批量处理,有些请求进行合并发送等都是类似批量的实现。RocketMq批量发送也是为了追求性能,特别是在消息数量非常大的时候,批量效果非常明显。使用批量消息的限制同一批次的消息应具有相同主题,相同的消息配置不支持延迟消息建议一个批量消息大小,最好不要超过1m。使用批量消息官方教程:http://rocketmq.apache.org/docs/batch-example/什么是事务消息是指producer端发送消息事件和本地事务事件,同时原创 2020-06-12 08:51:02 · 207 阅读 · 0 评论 -
网易云课堂学习-rocketmq 订阅机制和定时消息
什么是发布订阅发布订阅模式又叫观察者模式,它定义一个对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都将得到通知。rocketMq的发布订阅Push(推模式)pull(拉模式)什么是定时消息延迟级别broker定时消息发送逻辑使用定时消息官方教程:http://rocketmq.apache.org/docs/order-example/...原创 2020-06-11 23:26:04 · 293 阅读 · 0 评论 -
网易云课堂学习-rocketmq有序消息
为什么要使用有序消息queue中的消息是先进先出的全局顺序适用场景:性能要求不高,所有消息严格按照FIFO原则进行消息的发布和消费的场景。分区顺序适用场景:性能要求高,根据消息中的sharding key去决定消息发布到哪一个queue。全局顺序与分区顺序对比如何保证消息顺序在mq模型中,顺序需要三个阶段去保障:消息被发送时保障顺序消息在存储时保证和发送时的顺序一致。消息在消费时保证和存储时的顺序一致。rocketmq顺序消息的实现有序消息的缺陷:..原创 2020-06-11 23:05:11 · 124 阅读 · 0 评论 -
网易云课堂学习- rocketmq架构方案
rocketmq角色介绍producer:生产者consumer:消费者broker:mq服务,负责接收、分发消息nameserver:负责mq服务之间的协调rocketmq架构方案nameserver clusterNameServer提供轻量级服务发现和路由。每个名称服务器记录完整的路由信息,提供相应的读写服务,并支持快速扩展程序。一个队列只能有一个消费者在消费,一个消费者可以消费多个队列。nameServer之间没有数据同步、主服务器之间也没有数据同步环境准备配置文原创 2020-06-11 21:19:13 · 213 阅读 · 0 评论 -
网易云课堂学习-rocketmq入门
RocketMQ是什么是由阿里捐赠给Apache的一款分布式、队列模型的开源消息中间件,经历了双十一的洗礼。RocketMQ的发展史RocketMQ的特性原生分布式两种消息拉取严格消息顺序特有的分布式协调器亿级消息堆积组(group)RocketMQ 基本概念producer:消息生产者,负责生产消息,一般有业务系统负责生产消息。consumer:消息消费者,负责消费消息,一般是后台系统负责异步消费。push consumer:封装消息拉取,消费进程和内部pull c原创 2020-06-11 19:19:53 · 187 阅读 · 0 评论 -
网易云课堂学习- kafka优雅应用
监控虽然目前Apache Kafka已经全面进化成一个流处理平台,但大多数的用户依然使用的是其核心功能:消息队列。对于如何有效地监控和调优kafka是一个大话题,很多用户都有这样的困扰。目前没有一款kafka监控工具是公认比较优秀的,每个都有自己的特点但也有些致命缺陷。kafka监控工具有:kafka manager、Kafka Web Console、Burrow,Kafka Offset Monitor,Kafka Eagle,Confluent Control Center。通过研究,发现主流的原创 2020-06-11 07:31:05 · 207 阅读 · 1 评论 -
网易云课堂学习-kafka streams架构
程序重启后才会从服务端拿offset,来决定从哪里消费。客户端会维护一个partition_id和offset,以此知道下次从哪里开始拉取。批处理计算:会有一定的延时,只能查到昨天的数据Spark和Flink既能做批处理,又能做流处理pageCache:操作系统的内存kafka写性能高的原因:1.用了pageCache 2.使用了顺序写通过mapped memory file技术将数据写到pageCache中,达到顺序写的目的,并且将操作系统的内存应用起来。一个Partition.原创 2020-06-10 18:13:14 · 183 阅读 · 0 评论 -
网易云课堂学习- Kafka Connect数据传输作业工具
topic、partition、replication每个partition都有自己的副本,并且不在同一台机器上。一个leader,多个fowller。写数据是往fowller上写。partition的个数,建议是consumer的整数倍。一个partition数据只会被一个consumer消费。一个consumer group消费一个完整的topic数据。Zookeeper简介kafka中的leader和fowller是partition级别的,不是实例zookeeper中的lead原创 2020-06-10 17:39:24 · 208 阅读 · 0 评论 -
网易云课堂学习- Kafka入门及使用
简介kafka是linkedin使用scala编写的具有高水平扩展、高吞吐量的分布式消息系统。kafka对消息保存时根据topic进行归类,发送消息者称为producer,消息接收者称为consumer,此外kafka集群由多个kafka实例组成,每个实例(server)称为broker。无论是kafka集群还是producer和consumer都依赖zookeeper来保证系统的可用性,为集群保存一些meta信息。主流MQ对比吞吐量:kafka>rabbtimq>activemq原创 2020-06-10 17:23:51 · 244 阅读 · 0 评论 -
网易云课堂学习-rabbitmq集群和高可用方案
常用管理命令集群管理查看集群状态:rabbitmqctl cluster_status修改集群节点的类型,使用此命令前需要停止Rabbitmq应用:rabbitmqctl change_cluster_node_type {disc|ram}将节点从集群删除,允许离线执行:rabbitmqctl forget_cluster_node [–offline]在集群中的节点应用启动前,咨询clusternode节点的最新信息,并更新相应的集群信息。这个和join_cluster不同,它不加入原创 2020-06-10 16:01:15 · 208 阅读 · 1 评论 -
网易云课堂学习-activemq持久化原理及事务
ActiveMQ持久化方案介绍activemq的消息持久化机制有JDBC、AMQ、KahaDB和LevelDB,无论使用哪种方式持久化,消息的存储逻辑都是一致的。ActiveMQ持久化机制queue类型的持久化机制Topic类型的持久化机制JDBC方式AMQ方式KahaDB方式LevelDB方式LevelDB的特点基于KV存储key值有序存储操作接口简单支持数据快照支持数据压缩LevelDB的结构事务机制ActiveMQ事务实现机制...原创 2020-06-10 15:21:35 · 132 阅读 · 0 评论 -
网易云课堂学习-Activemq高可用
ActiveMQ高可用集群方案介绍Master-Slave部署方式通过网络连接,将多个broker组合,对外构成一个整体,集群间共享队列和主题。Dynamic Broker-Cluster部署配置Master-Slave与Broker-Cluster相结合networkConnector网络连接配置说明...原创 2020-06-10 15:07:31 · 159 阅读 · 0 评论 -
网易云课堂学习-ActiveMQ支持的消息协议讲解
ActiveMQ支持哪些协议ActiveMQ支持多种传输协议和传输方式,允许客户端使用多种协议连接。支持的协议:AUTO、OpenWire、AMQP、Stomp、MQTT。支持的基础传输方式:tcp、udp、http(s)、VM、SSL、Peer、Multicast等,以及更高级的Failover、Fanout、Discovery、ZeroConf。ActiveMQ的协议连接配置常用传输方式及配置TCP:由于tcp具有可靠传输的特性,它在activemq中是最常用的一个种协议。在默认配置中,t原创 2020-06-10 10:36:46 · 170 阅读 · 0 评论 -
网易云课堂学习-ActiveMQ入门
ActiveMQ是什么是Apache出品的,最流行的,能力强劲的开源消息总线。是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS规范已经出台很久了,但JMS在如今的J2EE应用中仍然扮演着很重要的角色。JMS规范java message service即java消息服务应用程序接口是一个java平台中关于面向消息中间件(MOM)的 API,用在两个应用程序之间,或分布式系统中发送消息,进行异步通信。java消息服务是一个与具体平台无关的API。JMS的对象模型原创 2020-06-10 09:40:56 · 211 阅读 · 0 评论 -
网易云课堂学习-分布式中间件设计篇
单体架构:所有代码都在一个项目中,耦合度太高,升级一个模块需要将所有模块都升级一遍。分布式系统架构:(一个请求需要多个系统协调处理)基于消息中间件的分布式系统消息中间件概述什么是消息中间件利用高效可靠的消息传递机制,进行平台无关的数据交流;并基于数据通信来进行分布式系统的集成;通过提供消息传递和消息排队模型,它可以在分布式系统下扩展进程间的通信。消息中间件的应用场景跨系统数据传递、高并发流量削峰、数据异步处理等等常用的消息中间件activemq、rocketmq、ra原创 2020-06-09 23:23:21 · 289 阅读 · 0 评论