分布式中间件
文章平均质量分 87
本专栏主要发布各种消息队列的使用文章
JolyouLu
技术交流群 528668633
展开
-
消息中间件介绍
消息中间件介绍什么是消息中间件什么是消息中间件,我们可以将他拆开理解,消息+中间件的一个东西,要说明什么是消息中间件那么首先就要从JMS说起JMS在了解消息中间件时,首先需要知道JMS即Java消息服务(Java Message Service)应用程序接口,这是一套由SUM公司在2002年提出的JMS规范,JMS是用于两应用程序之间或分布式系统中发送消息,进行异步通讯,java消息服务是一个与具体平台无关的API(跨语言)的API,JMS允许应用程序组件基于JavaEE平台创建、发送、接收、原创 2021-08-29 12:37:14 · 828 阅读 · 0 评论 -
Liunx-Kafka集群部署
Zookeeper-快速入门(服务安装、单机部署、集群部署集群部署修改配置文件broker.idlistenerslog.dirszookeeper.connect原创 2022-07-09 21:28:59 · 122 阅读 · 0 评论 -
Liunx-Kafka单机部署
Zookeeper-快速入门(服务安装、单机部署、集群部署单机部署修改配置文件broker.idlistenerslog.dirszookeeper.connect原创 2022-07-09 21:26:22 · 368 阅读 · 0 评论 -
Kafka-基础(同步消息、异步消息、事务消息、分区规则、Leader选举、分区副本、分区分配策略、消息消费)
Liunx-Kafka单机部署Liunx-Kafka集群部署创建主题主题信息指定分区未指定分区,存在Key未指定分区,无key数据可靠性数据可靠方案旧主题分区规则首先编写一个配置文件生成负载均衡计划生成执行计划验证关闭其中一个节点前置知识Broker2宕机Broker2恢复首先编写一个配置文件验证首先编写一个配置文件验证超期数据处理规则delete说明compact说明同步提交异步提交自定义offset消费...原创 2022-07-09 21:52:53 · 1313 阅读 · 1 评论 -
Liunx-RabbitMQ单机部署
RabbitMQ单机部署前置环境使用RabbitMQ那么需要准备Erlang环境才能运行,通过Erlang安装包下载下载对应的rpm包,并且拷贝到liunx上执行如下命令安装Erlangcurl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash# 我这里使用的是23版本sudo yum install erlang-23.2.1-1.el7.x86_64注原创 2021-10-24 11:47:53 · 2351 阅读 · 0 评论 -
Liunx-RabbitMQ集群部署
Liunx-RabbitMQ集群部署以下说明的是RabbitMQ集群部署,在部署集群之前首先需要准备3台机器,并且都安装上RabbitMQ单机版,如果未安装的可以阅读Liunx-RabbitMQ单机部署文章Liunx-RabbitMQ单机部署搭建示意图首先准备3台装有单机版的RabbitMQ的服务器,让102与103连接上101,3台MQ构成一个集群修改主机HostName#修改主机hostnamevim /etc/hostname#修改主机host文件让各节点相互访问#增加其它原创 2021-10-28 16:25:22 · 814 阅读 · 0 评论 -
RabbitMQ-基础(四大核心概念、六大模式、消息应答、持久化、分发逻辑、主题模式、延迟队列)
RabbitMQ-基础RabbitMQ,2007年发布,是一个AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一RabbitMQ功能比较完备、健壮、稳定、易用、并且跨平台,支持语言如python、ruby、.net、java、jms、c、php、ajax,并且文档齐全,提供了开源的管理界面,很高的社区活跃度,更新频率相当高四大核心概念生产者:发送消息到的RabbitMQ客户端为生产者交换机:是RabbitMQ非常重要的一个部件,用于接收来自生产者的消原创 2021-10-24 11:50:15 · 1023 阅读 · 0 评论 -
RabbitMQ-进阶(镜像队列、负载均衡、联邦插件)
RabbitMQ进阶RabbitMQ进阶,是对RabbitMQ基础进行一个补充,里面涵盖了集成SpringBoot框架的使用,以及集群搭建,已经集群相关知识集成SpringBootSpringBoot集成RabbitMQ,常用案例SpringBoot-集成RabbitMQRabbitMQ集群部署Liunx-RabbitMQ集群部署镜像队列在RabbitMQ集群模式下,创建的队列是某一个节点下的,并不是集群节点之间共享的,所以当某个节点宕机那么该节点下的所有队列也无法访问了,通过镜像原创 2021-10-28 16:28:59 · 1049 阅读 · 0 评论 -
SpringBoot-集成RabbitMQ(延迟队列、备份交换机、Mandatory)
SpringBoot-集成RabbitMQSpringBoot集成RabbitMQ配置十分的简单,只需要按照以下步骤完成即可依赖引入<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency>原创 2021-10-28 16:20:59 · 475 阅读 · 1 评论 -
Liunx-RocketMQ单机部署
RocketMQ单机部署前置环境使用RocketMQ那么需要准备JDK环境才能运行JDK安装教程:Liunx-安装JDK安装包下载进入到Apache RocketMQ官网,下载RocketMQ安装包也可直接在Liunx上执行wgethttps://archive.apache.org/dist/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip获取压缩包解压压缩包# 解压压缩包unzip rocketmq-all-4.7.1-bi原创 2021-07-27 00:04:23 · 263 阅读 · 0 评论 -
Liunx-RocketMQ集群部署
RocketMQ单机部署这里说到的集群部署主要是Broker集群的部署,因为NameServer集群与生产/消费者集群部署方式都比较简单,但是本文也会提到不会做过多的步骤演示Broker集群部署Broker是RocketMQ集群配置中难度最高的集群配置,在集群搭建前首先需要了解几样东西,数据复与磁盘IO策略前置知识数据复与磁盘IO策略复制策略:Broker的Master与Slave间的数据同步方式,分为同步复制与异步复制同步复制:消息写入master后,master会等待slave原创 2021-07-30 00:56:39 · 355 阅读 · 0 评论 -
RocketMQ-基础(基本概念、基本架构、Producer、Consumer、NameServer、Broker、单机部署、集群部署、可视化工具)
RocketMQ-基础RocketMQ是由阿里开源的一款中间件,16年捐赠给Apache基金会,在17年9月RocketMQ成为Apache顶级项目(TLP),RocketMQ可是历经数十年的阿里双11的考验,性能与稳定性非常高基本概念在使用RocketMQ前首先需要了解5个基本概念消息(Message)消息是指,消息系统所传输信息的物理载体,生产和消费数据的最小单位,每条消息必须属于一个主题主题(Topic)Topic表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于原创 2021-08-07 00:31:03 · 861 阅读 · 0 评论 -
RocketMQ-进阶(Store结构、Queue算法、IndexFile结构、Rebalance机制、Offset管理、消费幂等)
RocketMQ原理消息的生产Producer在将消息写入到某个Broker中的某个Queue中,经历了什么Producer发送消息之前,会先向NameServer发出获取消息Topic的路由信息的请求NameServer会返回Topic的路由表以及Broker列表给ProducerProducer会根据负载均衡策略,从Queue列表中选出一个用于消息的存储Producer对消息会做一些特殊处理,如消息超过4M会进行压缩Producer向选择出的Queue所在的Broker发出RPC请求,原创 2021-08-07 00:37:48 · 855 阅读 · 1 评论 -
RocketMQ-实战(普通消息、顺序消息、延时消息、事务消息、批量消息、消息过滤、消息重试)
RocketMQ-实战普通消息消息发送分类同步消息同步消息发送是指,Producer发出消息后,需要收到MQ返回ACK之后才会发送下一条消息,该方式的消息可靠性最高,效率低异步消息异步发送消息是指,Producer发出消息后无需等待MQ返回ACK,直接发送下一条消息,该方式消息可靠性有保障,效率也可以单向消息单向发送是指,Producer只负责发消息,不等待,不处理MQ的ACK,MQ也不会返回ACK,该方式消息可靠性最低,效率最高代码举例依赖引入创建一个Maven工原创 2021-08-15 13:22:08 · 1351 阅读 · 0 评论 -
分布式数据库中间件介绍
分布式数据库中间件在分布式情况下随着用户量的增加,Mysql数据库表逐渐庞大随之而来的问题就是导致数据库性能的下降,当数据量超过500W行那么就可以考虑分库分表了分库分表概述什么是分库分表分库分表,相信大家在编写Web项目的时都会使用到关系型数据库,通常在传统的Web项目中我们一个项目只会对应一个数据库,当对于类似电商这些用户量与数据量大的项目通常使用单个数据库是无法支撑的,所以就有了分库分表,即把项目中的表按不同的业务分别存放到不同的数据库中、或把一张表数据拆分到不同的数据库中为什么要分原创 2021-08-30 00:06:17 · 1740 阅读 · 2 评论 -
Sharding-JDBC实战(水平分表、水平分库、垂直分表、公共表、读写分离)
Sharding-JDBC实战基本概述Sharding-JDBC早期是由当当网开源的分布式数据库中间件,后期该项目被放入到ShardingSphere项目下,Sharding-JDBC是一个轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务, 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架在使用Sharding-JDBC首先要清楚以下几点它是一个轻量级的Java框架,可以理解是增原创 2021-08-29 23:57:42 · 2616 阅读 · 7 评论 -
Sharding-Proxy实战(水平分表、水平分库、垂直分表、读写分离)
Sharding-Proxy实战基本概述使用过Sharding-JDBC都知道需要为每一个运用到Sharding-JDBC的项目编写一大片配置文件,Sharding-Proxy就可以解决Sharding-JDBC上遇到问题,Sharding-Proxy定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持,简单来说分库分表的工作都由Sharding-Proxy服务端去完成,Sharding-Proxy是Webapp服务端,你只管发增删改查不有管你要操作什么库,Sh原创 2021-08-30 00:02:54 · 1947 阅读 · 0 评论