- 博客(494)
- 收藏
- 关注
原创 未来发展?智能AI革命与脑联网领域
前言最近在看一些关于未来技术的一些书, 分享一下我的感受吧历史革命智能制造是国家战略的共同核心,各国都期望借助于自动化、数字化、网络化、智能化手段,减少对人的依赖,实现各自国家向高质、高效、高端、绿色、高竞争力方向发展。机械革命第一次工业革命是机械化革命,诞生于18世纪晚期,瓦特改良蒸汽机后,1784年问世的珍妮纺织机实现了生产的机械化,从而催生了车间、工厂这种新型生产组织模式,大...
2023-02-07 15:50:00
506
原创 Java 解析 带 T Z 的 UTC 时间格式 日期
直接上代码吧public static void main(String[] args) throws ParseException { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); df.setTimeZone(TimeZone.getTimeZone(...
2023-01-11 15:49:00
1273
原创 Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by se...
背景 今天在写一个数据处理程序的时候, 我打算优化一下我的程序, 本来是直接用Mapper层进行单行记录保存的, 也就是调用的Mapper的insert函数过程 然后我就写了一个Service, 但是我没有写接口, 是直接写了一个具体的实现类@Servicepublic class InstitutionService extends ServiceImpl<Institu...
2023-01-09 11:38:00
1727
原创 22-FAQ登录RabbitMQ控制台提示不是私密连接
登录RabbitMQ控制台提示不是私密连接将启动的时候的赋权操作再执行一遍rabbitmqctl add_user rootrabbitmqctl set_permissions -p / root ".*" ".*" ".*"rabbitmqctl set_user_tags root administrator再访问就可以了, 要是不行就再创建一个用户...
2022-10-04 23:38:00
840
原创 21-RabbitMQ延迟队列插件
RabbitMQ延迟队列插件下载官网https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases我用的是3.10.7的RabbitMQ, 但是官网没有这么新版本的, 只好下载3.10.2得了安装# 进入plugins目录cd /usr/local/rabbitmq/plugins/上传包...
2022-10-04 23:37:00
548
原创 20-SpringBoot整合RabbitMQ
SpringBoot整合RabbitMQ整合就直接使用单机版的了, 一直开着5个虚拟机, 我电脑不太行新建SpringBoot工程你已经是一个长大的IDEA了, 要学会自己新建工程, 然后IDEA自己创建了rabbitmq-consumer和rabbitmq-producer工程添加依赖<dependency> <groupId>org.spri...
2022-10-04 23:35:00
425
原创 19-RabbitMQ消息一致性问题
消息一致性问题在使用rabbitmq中,消息的一致性是非常重要的一个话题。在数据一致性方面,发送者发送消息出来,在数据一致性的要求下,我们通常认为必须达到以下条件broker持久化消息publisher知道消息已经成功持久化首先,我们可以采用事务来解决此问题。每个消息都必须经历以上两个步骤,就算一次事务成功。事务是同步的。因此,如果采用事务,发送性能必然很差。官方给出...
2022-10-04 23:33:00
494
原创 18-基于CentOS7搭建RabbitMQ3.10.7集群镜像队列+HaProxy+Keepalived高可用架构
集群架构虚拟机规划IPhostname节点说明端口控制台地址192.168.247.150rabbitmq.masterrabbitmq master5672http://192.168.247.150:15672192.168.247.151rabbitmq.s.orabbitmq slave5...
2022-10-04 23:32:00
501
原创 18-RabbitMQ高级特性-死信队列
死信队列死信队列: DLX, Dead-Letter-Exchange利用DLX, 当消息在一个队列中变成死信(dead message)之后, 它能被重新publish到另一个Exchange, 这个Exchange就是DLXDLX也是一个正常的Exchange, 和一般的Exchange没有区别, 他能在任何的队列上被指定, 实际上就是设置某个队列的属性当这个队列中有死信时,Ra...
2022-10-04 23:23:00
413
原创 17-RabbitMQ高级特性-TTL队列/消息
TTL队列/消息TTL: Time To Live, 生存时间RabbitMQ支持消息的过期时间, 在消息发送时可以指定RabbitMQ支持队列的过期时间, 从消息进入队列开始计算, 只要超过了队列的超时时间配置, 那么消息会被自动清除TTL队列代码实现消费者package com.dance.redis.mq.rabbit.ttl;import com.dance.re...
2022-10-04 23:22:00
561
原创 16-RabbitMQ高级特性-消费端的消息ACK与重回队列
消费端的消息ACK与重回队列消费端的手工ACK和NACKACK分为自动和手动消费端进行消费的时候, 如果由于业务异常我们可以进行日志的记录, 然后进行补偿如果由于服务器宕机等严重问题, 那我们就需要手工进行ACK保障消费端消费成功消费端的重回队列消费端重回队列是为了对没有处理成功的消息, 把消息重新会递给Broker一般我们在实际应用中, 都会关闭重回队列, 也就是设置为F...
2022-10-04 23:20:00
1210
原创 15-RabbitMQ高级特性-消费端限流
消费端限流什么是消费端限流假设一个场景, 首先, 我们RabbitMQ服务器有上万条消息未处理的消息, 我们随机打开一个消费者客户端, 会出现下面情况巨量的消息瞬间全部推送过来, 但是我们单个客户端无法同时处理这么多数据RabbitMQ提供了一种Qos(服务质量保证)功能, 即在非自动确认消息的前提下, 如果一定数目的消息(通过基于consumer或者channel设置Q...
2022-10-04 23:18:00
287
原创 14-RabbitMQ高级特性-Return返回消息
Return返回消息Return消息机制Return Listener 用于处理一些不可路由的消息我们的消息生产者,通过指定一个Exchange和RouteKey, 把消息送达到某一个队列中去,然后我们的消费者监听队列,进行消费处理操作但是在某些情况下, 我们在发送消息的时候, 当前的Exchange不存在, 或者指定的路由key, 路由不到, 这个时候我们就需要监听这些不可达的消息...
2022-10-04 23:16:00
487
原创 13-RabbitMQ高级特性-Confirm确认消息
Confirm确认消息理解Confirm消息确认机制消息的确认, 是指投递消息后, 如果Broker收到消息, 则会给我们生产者一个应答生产者进行接收应答用来确定这条消息是否正常的发送到Broker, 这种方式也是消息的可靠性投递的核心保障Confirm确认消息流程解析Confirm确认消息实现在Channel上开启确认模式: channel.confirmSelect()...
2022-10-04 23:15:00
270
原创 12-RabbitMQ高级特性-在海量订单产生的业务高峰期, 如何避免消息的重复消费问题...
幂等性概念详解幂等性是什么可以借鉴数据库的乐观锁机制比如执行一条更新库存的SQLupdate t_reps set count = count -1 , version = version + 1 where version = 1;MQ最重要的两个特点就是生产端保证可靠性投递和消费端幂等性消费消费端-幂等性保障由消费端实现幂等性, 就意味着, 我们的消息永远不会消...
2022-10-04 23:14:00
424
原创 11-RabbitMQ高级特性-消息如何保证100%的投递成功
消息如何保证100%的投递成功什么是生产端的可靠性投递保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制BAT/TMD互联网大厂的解决方案消息信息落库, 对消息状态进行打标存入本地消息表打印日志记录将消息发送到MQ接收MQ的应答消息修改本地消息表状态为已发送如果没有收到MQ的应答消息, 可以通过分布式定时任...
2022-10-04 23:11:00
443
原创 10-RabbitMQ核心API-其他[Binding, Queue, Message, Virtual host]
Binding绑定关系Exchange和Exchange, Queue之间的连接关系Binding中可以包含RouteKey或者参数Queue消息队列, 实际存储消息数据Durability: 是否持久化, Durable: 是, Transient: 否Auto Delete: 如果是yes, 代表当最后一个监听者被移除之后, 该Queue会被自动被删除Message...
2022-10-04 23:10:00
352
原创 09-RabbitMQ核心API-Fanout Exchange
Fanout Exchange简介不处理路由键, 只需要简单的将队列绑定到交换机上发送到交换机的消息都会被转发到与该交换机绑定的所有队列上Fanout交换机转发消息是最快的代码实现消费者1package com.dance.redis.mq.rabbit.fanout;import com.dance.redis.mq.rabbit.RabbitMQHelper;i...
2022-10-04 23:09:00
391
原创 08-RabbitMQ核心API-Topic Exchange
Topic Exchange简介所有发送到Topic Exchange的消息被转发到所有关心RouteKey中指定Topic的Queue上Exchange将RouteKey和某Topic进行模糊匹配, 此时队列需要绑定一个Topic可以使用通配符进行模糊匹配#: 匹配一个或多个词*: 匹配不多不少一个词log.# : 能够匹配 log.info.oalog.* : 只会...
2022-10-04 23:07:00
387
原创 07-RabbitMQ核心API-Direct Exchange
Direct Exchange简介所有发送到direct exchange 的消息被转发到Routekey中指定的Queue注意: Direct模式可以使用RabbitMQ自带的Exchange(default exchange), 所以不需要将Exchange进行任何Binding操作, 消息传递时RouteKey必须完全匹配才会被队列接收, 否则该消息会被丢弃代码实现Rab...
2022-10-04 23:06:00
165
原创 06-RabbitMQ核心API-Exchange
Exchange流程图接收消息, 并根据路由键转发消息所绑定的队列Exchange属性属性含义name交换机名称type交换机类型[ direct | topic | fanout | headers ]durability是否需要持久化[ true | false ]auto delete当最后一个绑定到...
2022-10-04 23:04:00
346
原创 05-RabbitMQ控制台入门及其Java简单操作
MQ控制台简单操作建立Exchange新建Exchange成功新建Queue新建Queue成功建立Exchange与Queue的关系建立关系成功路由键: 就是指发送到Exchange的消息, 通过路由键的匹配规则, 分发到指定的Queue样例: test.*说明: 代表该消息的发送时的路由Key必须是以test.开头, 才会被分发到queue-test这个...
2022-10-04 23:02:00
209
原创 04-基于CentOS7安装RabbitMQ3.10.7
RabbitMQ安装与入门安装与启动我实在是找不到这么老的版本了, 直接用最新版本的, 按照道理来说, 新版本是兼容老版本的官网地址https://www.rabbitmq.com/Erlang安装下载https://github.com/erlang/otp/releases/download/OTP-25.1/otp_src_25.1.tar.gz上传到linux...
2022-10-04 23:00:00
613
原创 03-RabbitMQ核心概念[简介, AMQP协议, 整体架构, 消息流转]
核心概念RabbitMQ简介RabbitMQ是一个开源的消息代理和队列服务器, 用来通过普通协议在完全不同的应用之间共享数据, RabbitMQ是使用Erlang语言来编写的, 并且RabbitMQ是基于AMQP协议的AMQP协议协议简介全称: Advanced Message Queuing Protocol翻译: 高级消息队列协议定义: 是具有现代特征的二进制协议, 是一个...
2022-10-04 22:55:00
273
原创 02-RabbitMQ特性原理与集群架构解析
RabbitMQ特性原理与集群架构解析RabbitMQ四种集群架构主备模式 M-S远程模式 异地多活[了解]镜像模式多活模式 异地多活主备模式warren(兔子窝),一个主、备方案(主节点如果挂掉,从节点提供服务)主备模式-HaProxy配置listen rabbitmq_clusterbind 0.0.0.0:5672 #配置TCP模式mode tc...
2022-10-04 22:53:00
214
原创 01-业界主流的分布式消息队列与MQ的技术选型
业界主流的分布式消息队列(MQ)与技术选型MQ的应用场景服务解耦削峰填谷异步化缓冲MQ的应用思考点业务生产端的可靠性投递消费端的幂等性MQMQ高可用低延时可靠性(副本)堆积能力可扩展性业界主流的MQ对比ActiveMQRabbitMQRocketMQKafka前沿比较目前主流的三种MQ, ActiveMQ虽然也很好但是,...
2022-10-04 22:52:00
321
原创 06-第三方云存储解决方案
第三方云存储解决方案FastDFS虽然可以水平扩容, 但是运维的复杂度会提高开发复杂(并不是指上传)图片增加水印, 人脸识别视屏文件的后期处理阿里云OSS对象存储SDK使用简单提供强大的文件处理功能没有运维成本图形化管理控制台CDN加速官网https://www.aliyun.com/product/oss项目集成直接去看对接文档即可...
2022-10-04 22:49:00
211
原创 05-SpringBoot 整合 FastDFS
SpringBoot 整合 FastDFS添加POM依赖<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.7</version&g...
2022-10-04 22:48:00
99
原创 04-FastDFS+Nginx对外提供静态资源访问
配置Nginx FastDFS实现文件服务器在storage上安装cd /home/software/FASTDFS/tar -zxvf fastdfs-nginx-module-1.22.tar.gzcd fastdfs-nginx-module-1.22/src/vi config修改配置ngx_addon_name=ngx_http_fastdfs_modulei...
2022-10-04 22:47:00
173
原创 03-基于CentOS7搭建FastDFS
搭建fastdfs文件服务器资源准备centos7libfastcommon 公共函数包FastDFS 本体fastdfs-nginx-module 与Nginx的关联模块nginx 1.15.4官方文档https://github.com/happyfish100/fastdfs/wiki环境搭建服务器IP规划trackerstoreage...
2022-10-04 22:44:00
291
原创 02-分布式文件服务器FastDFS[简介, 架构详解]
分布式文件服务器-FastDFS什么是FastDFSFastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用Fa...
2022-10-04 22:40:00
457
原创 01-单节点文件上传存在的问题
目前文件上传的问题单向存储不支持集群文件数据冗余(高可用概念)可扩展差因为单向存储文件, 会被Nginx轮询, 导致上传到一台Tomcat上, 会导致后续如果该请求没有被轮询到指定的Tomcat, 就会无法访问该文件, 导致访问失败, 并且该文件应为只存储在Tomcat一中, 一旦该节点宕机, 那么该节点上的所有资源将进入不可用状态, 应为没有数据冗余备份, 所以所有存在Tom...
2022-10-04 22:38:00
342
原创 11-Elasticsearch-logstash数据同步[Mysql->Logstash->Es]
logstash数据同步简介集中, 转换和存储数据, logstach是免费且开放的服务器端数据处理管道, 能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的"存储库"中官网https://www.elastic.co/cn/logstash/下载地址https://www.elastic.co/cn/downloads/logstash功能数据采集以id...
2022-10-03 05:23:00
478
原创 10-Elasticsearch-SpringBoot整合ES集群
SpringBoot整合Elasticsearch集群每个版本的整合方式不一样, 具体的使用的时候, 直接去找官网的文档就好为什么这个说呢, 因为我看之前的版本用的直接是RightHigh的客户端然后呢, 又用了ElasticTemplate接着又是ElasticRestTemplate以及接近MyBatis的方式也就是Repository最新版本的还没看, 感觉方式太多了, 看自...
2022-10-03 05:21:00
257
原创 08-Elasticsearch-ES集群脑裂
集群脑裂什么是集群脑裂如果发生网络中断或者服务器宕机,那么集群会有可能被划分为两部分,各自有自己的master来管理,那么这就是脑裂。集群脑裂解决方案 master主节点要经过多个master节点共同选举后才能成为新的主节点。这就跟班级里选举班长一样,并不是你1个人能决定的,需要班里半数以上的人决定。解决实现原理:半数以上的节点同意选举,节点方可成为新的master。dis...
2022-10-03 05:16:00
146
原创 07-Elasticsearch-ES集群搭建
ElasticSearch集群搭建Elasticsearch集群准备3台虚拟机IP规划192.168.247.142192.168.247.143192.168.247.144三台虚拟机搭建ES建议采用新的机器, 我用了之前的机器导致, 配置是对的, 但是三个节点就是不组成集群.... 哭了一晚上记得把ik装上修改三台ES的配置# 查看配置文件more elas...
2022-10-03 05:15:00
181
原创 06-Elasticsearch-批量操作 bulk
批量操作 bulk基本语法bulk操作和以往的普通请求格式有区别, 不要格式化JSON, 不然就不在同一行了, 这个需要注意{action:{metadata}}代表批量操作的类型, 可以是新增, 删除, 修改\n是每行结尾必须填写的一个规范, 每一行包括最后一行都要写, 用于ES 解析(不要写出来,就是回车换行){request body}是请求body, 增加和修改操作需要,...
2022-10-03 05:13:00
550
原创 05-Elasticsearch-DSL高级检索[分页, 分词, 权重, 多条件, 过滤, 排序, 关键词高亮, 深度分页, 滚动搜索, 批量Mget]...
DSL搜索词库准备骚年帅气新闻网新闻闻网新闻网索引准备PUT /shop{ "settings": { "number_of_shards": 5, "number_of_replicas": 0 }}POST /shop/_mapping{ "properties": { "id": { ...
2022-10-03 05:12:00
664
原创 03-Elasticsearch-基本语法模拟数据
模拟数据增删改数据POST /my_doc/_doc/{ "id": 1001, "name": "imooc-1", "desc": "imooc is very good, 慕课网非常牛!", "create_date": "2019-12-24"}POST /my_doc/_doc/{ "id": 1002, "name": "imooc-2",...
2022-10-03 05:02:00
176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人