
中间件
文章平均质量分 79
中间件
不许人间到白头~
这个作者很懒,什么都没留下…
展开
-
Seata1.3.0集成Nacos
Seata1.3.0Seata1.3.0下载地址自从seata1.0版本以后,不在提供sql脚本,需要从1.0版本以前复制原创 2021-09-22 10:40:05 · 831 阅读 · 0 评论 -
SpringBoot集成SocketIO
SpringBoot集成SocketIO简介集成SpringBoot添加SocketIO依赖修改配置文件新建SocketIO的配置文件新建SocketIoHandler处理器新建处理消息的逻辑客户端代码简介Socket.IO是一个完全由JavaScript实现、基于Node.js、支持WebSocket的协议用于实时通信、跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js。Socket.IO除了支持WebSocket通讯协议外,还支持许多种轮询(Polling)机制以及其它原创 2021-09-09 17:15:19 · 4858 阅读 · 4 评论 -
RabbitMQ延时队列
RabbitMQ延时队列一:TTL(消息过期) + 死信队列TTL 过期时间有两种设置方式:单独指定消息的过期时间给队列设置消息过期时间,队列中的所有消息都有同样的过期时间。二:RabbitMQ插件使用Docker 安装RabbitMQ的延时插件下载插件安装使用想要实现RabbitMQ延时队列有两种方式一:TTL(消息过期) + 死信队列TTL + 死信队列的实现方式主要是,TTL 来控制延时时间,等到延时时间过期,消息就会被扔到死信队列来处理,从而达到延时队列的效果。TTL 过期时间有两种设置方原创 2021-08-23 17:11:04 · 390 阅读 · 0 评论 -
RabbitMQ消息确认以及死信队列
RabbitMQ消息确认以及死信队列回调函数消息确认机制死信队列什么是死信队列定义队列回调函数回调函数是指当消息发送到交换机或队列是的回调通知。修改yml配置文件spring: profiles: active: dev # rabbitmq 配置 rabbitmq: host: 10.10.11.21 port: 5672 username: guest password: guest virtual-host: / # 设置虚拟主机原创 2021-08-23 11:30:54 · 715 阅读 · 0 评论 -
RabbitMQ集成SpringBoot
RabbitMQ基本使用基本概念集成SpringBootDirect 直流交换机Fanout: 扇形交换机Topic: 主题交换机发送消息convertSendAndReceive方法与convertAndSend方法的区别基本概念了解rabbitmq之前先要了解3个基本概念:生产者、消费者、代理(队列)。 rabbitmq在生产者和代理中间做了一层抽象。这样消息生产者和队列就没有直接联系,在中间加入了一层交换器(Exchange)。这样消息生产者把消息交给交换器,交换器根据路由策略再把消息转发给对应队原创 2021-08-21 10:03:13 · 352 阅读 · 0 评论 -
Docker安装部署RabbitMQ
docker安装RabbitMQ搜索镜像拉取镜像查看镜像启动镜像访问管理页面可以根据自己的需求创建用户根据自己的需求创建主机集群部署第一种:普通集群模式一,拉去Rabbitmq镜像二,创建映射数据卷目录,启动rabbitmq容器容器节点加入集群负载均衡设置官方网站首先保证你的虚拟机上已经安装过docker了搜索镜像docker search rabbit:management拉取镜像docker pull rabbitmq:management注意:如果docker pull rabbi原创 2021-08-20 17:51:51 · 1225 阅读 · 0 评论 -
Maven杂记
dependencyManagement 和 dependencies的区别Maven使用dependencyManagement元素来提供一种管理依赖版本号的方式。通常会在一个组织或项目的最顶级的父pom中看到dependencyManagement元素。使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不用显式的列出版本号。maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后他就会使用这个depen转载 2021-06-09 16:11:49 · 93 阅读 · 0 评论 -
IDEA 热部署
IDEA 热部署在项目中添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional></dependenc原创 2021-06-09 10:27:03 · 96 阅读 · 0 评论 -
Redis事务
Redis事务的简介Reids事务是一个单独的隔离操作:事务中的所有命令都会序列化,按顺序执行。事务在实行的过程中,不会被其他客户端发送的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。Reids事务的命令multi (开启事务), exec (提交事务), discard (放弃执行)从输入multi 命令开始,输入的命令都会依次进入命令队列中,但不会执行,知道输入exec后,Redis会将之前的命令队列中的命令依次执行。组队的过程中可以通过discard来放弃组队原创 2021-06-02 15:47:59 · 99 阅读 · 0 评论 -
Reids之三种特殊数据类型Bitmaps,HyperLogLog,Geospatial
Bitmaps简介现代计算机用二进制(位)作为信息的基础单位,1个字节等于8位,例如“abc”字符串是由3个字节组成,但实际在计算机存储时将其用二进制表示,“abc” 分别对用的ASCLL码分别是97,98,99, 对应的二进制分别是01100001,01100010和01100011,如下图:合理地使用操作位能够有效的提高内存使用率和开发效率。Reids 提供了Bitmaps 这个“数据类型” 可以实现对位的操作;Bitmaps 本身不是一种数据类型,实际上它就是字符串(key - v.原创 2021-06-01 17:32:12 · 151 阅读 · 0 评论 -
Redis之五大数基本数据结构
Redis中的五大数据类型字符串(String)列表(List)集合(Set)哈希(Hash)有序集合(Zset)string(字符串)命令描述set key value设置值get key获取指定值exists key判断某个key是否存在type key查看你的key是什么类型del key删除指定的key数据unlink key根据value选择非阻塞删除,仅将key从keyspace元数据中删除,真正的删除会在后原创 2021-06-01 10:43:24 · 147 阅读 · 0 评论 -
Redis采用的单线程+多路IO复用
为什么redis是单线程的?首先并不是高性能服务器都是多线程来实现的,因为reids的核心就是数据在内存中,他单线程的去操作就是效率最高的。单线程可以避免上下文的切换和锁的竞争。一次CPU上下文切换大概在1500ns左右。从内存中读取1MB的连续数据,耗时大约250us,假设1MB的数据由多个线程读取了1000次,那么就有1000次时间上下文切换。那么就有1500ns *1000 = 1500us, 在对比单线程下的250us,结果不言而喻。但是在redis6.0以后,采用了多路IO复用来提高性能,原创 2021-05-31 14:51:39 · 493 阅读 · 0 评论 -
SpringBoot 集成 ES
Springboot 集成 ElasticSearch我自己的源码已上传到码云,进入之后的springboot-es-api就是es的源码源码地址压缩包提取地址压缩包提取码:j0u7说明:我的压缩包以及源码用的都是 7.12.1 版本,比博客版本高一点,但是没有其他影响,可以直接将压缩包和源码下载直接使用ElasticSearch 和 Lucene 的关系:Lucene 是一套信息检索工具包! jar包! 不包含搜索引擎系统!包含的: 索引结构!读写索引的工具!排序,排序规则。。。工具类原创 2021-05-21 18:00:48 · 2210 阅读 · 0 评论