自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 幂等性。。

如果多次投递到消费者,消息可能重复消费,消费者使用数据库的乐观锁机制。消费者消费多条相同的消息,每次结果都应当与第一次的相同。消费者使用乐观锁机制,版本号。

2024-09-06 00:20:43 447

原创 消息补偿。

如果正常情况,生产者投递消息到队列,消费者监听队列消费,那就万事大吉,但是有很多不可控原因,网络波动,程序异常,等等,导致不是每次都正常投递消费,所以我们要做到消息可靠投递消费,采用消息补偿机制。

2024-09-06 00:20:03 675

原创 延迟队列。

消息进入队列不会被立即消费,过指定时间后再消费。

2024-09-06 00:19:29 223

原创 死信队列.

DLX(eadetterxchange)死信交换机:当一个队列里的消息成为死信时,会将这些消息发送到另外一个队列,这个另外的一个队列就是被人为的规定为,其实就是一个普通的队列,由于 RabbitMQ 是通过交换机来绑定队列的,所以死信队列在 RabbitMQ 里就是指死信交换机。

2024-09-06 00:18:51 240

原创 TTL 超时删除

假设队列的过期时间30秒,消息过期时间5秒,如上述示例,偶数使用队列的过期时间,奇数使用消息单独设置时间,由于奇数并不在队列顶端,所以奇数消息可能过期了,但是控制台查看还是 10 条,可以将队列设置成 60 秒过期,消息设置成 10 秒过期,不停手动刷新,较为容易的查看效果,或者直接点开控制台查看每条消息。如果每秒都遍历所有的消息,查看是否过期,那么对性能的损耗较大,收益较小,RabbitMQ 会将队列的顶端的消息去判断是否过期,如果过期了就删除。当既设置了队列的过期时间,又设置了消息单独的过期时间,

2024-09-05 15:20:45 419

原创 队列过长删除

/</</

2024-09-05 15:19:54 437

原创 消费端限流

假设队列里有 1000条消息,当消费者承受不住这么多消息同时消费,所以进行限流,每次只拉取 100 条,消费完之后再消费下 100 条。

2024-09-05 15:18:57 385

原创 消息消费回执

【代码】消息消费回执。

2024-09-05 15:08:48 453

原创 消息可靠投递

消息从生产者投递交换机,交换机给生产者一个响应,生产者收到肯定应答,才能保证消息成功投递到交换机,但是如果没有设置持久化,这时候交换机断电重启,仍然丢失,需要做到以下3个方法才能保证可靠投递到交换机。批量确认:简单,吞吐量比单条确认高,当一批消息中有一个出问题,不知道是哪一个。生产者投递一个消息,交换机回应,生产者确认之后再发布下一个,吞吐量很低。发布批量消息之后,等待,当有某一个故障的时候,不知道是哪个消息出问题。在 Publish/Subscribe 基础之上整合。异步批量确认:代码复杂,吞吐量高。

2024-09-05 15:08:18 1366

原创 SpringBoot整合RabbitMQ

配置文件常量类配置类使用测试浏览器输入 http://localhost:8080/test/send/zhangsan查看 RabbitMQ 控制台配置文件常量类消费多个消费者一般是在不同的服务器上,处理不同的业务逻辑处理,前面的配置都是一样的邮件类RabbitListener测试使用生成者再生成几条消息,查看效果生产者要配置消费者也要配置需要导入依赖,如果引入了 spring-boot-starter-web 依赖,就不要再引入了,web 的起步依赖里已经引入了

2024-09-05 15:07:37 537

原创 工作模式小结

工作模式小结简单队列HelloWorld工作队列Work Queues轮询一人一个公平能者多劳发布订阅Publish/Subscribefanout 广播路由模式Routingdirect 定向主题模式Topicstopic 通配符RPC远程调用

2024-09-05 15:06:57 141

原创 5主题模式

在动物的世界中可以按照多纬度区分按照颜色区分:有橙色的,有红色的按照物种区分:有老虎,有兔子按照速度区分:有敏捷 quick,有慢吞吞的 lazy如果有2个消费者一个消费者是对所有橙色的动物感兴趣一个消费者想听听有关兔子的新闻,以及慢动作动物的新闻。

2024-09-05 15:05:36 298

原创 4 路由模式

如果我们将生产环境的日志进行处理,而日志是分等级的,我们就按照 error waring info三个等级来讲解一个消费者是处理【所有】(info,error,warning)的日志,用于做数据仓库,数据挖掘的一个消费者是处理【错误】(error)日志,用以检测生产环境哪里有bug的如果有一条 error 的日志,它应当既发送给【所有】,又发送给【错误】如果有一条 info 的日志,它应当只发送给【所有】如果有一条 warning 的日志,它应当只发送给【所有】

2024-09-05 15:05:05 463

原创 3发布订阅

之前的简单队列和工作队列,生产者是直接将数据投递到队列里以工作队列为例,2个消费者之间的代码是相同的,处理的是同一个业务逻辑,如果不同的业务逻辑都用到同一份数据怎么办?添加交换机的角色。

2024-09-05 15:04:30 445

原创 2工作队列

/</</

2024-09-05 15:03:58 1191

原创 1简单队列

/</</

2024-09-05 15:03:11 177

原创 Window安装RabbitMQ

因为 RabbitMQ 是基于 Erlang 语言开发的,所以需要先安装 Erlang 的运行环境。

2024-09-05 15:01:51 415

原创 RabbitMQ简介

RabbitMQ简介。

2024-09-05 15:01:20 1179

原创 Python

新建文件创建函数 add在 main.py 导入模块在 main.py 使用如果 my_module1.py 和 wen_module.py 里面都有 add 方法,在 main.py 都导入了,并且使用了 add 方法,使用的是后导入模块中的函数。

2024-09-05 14:34:00 1716

原创 Numpy

使用自定义函数进行运算print(v1)向量化。

2024-09-04 16:58:36 1212

原创 MQTT5 subscribe 递归 stackoverflow 异常

点进源码一看,在分支上修改了。https://github.com/eclipse/paho.mqtt.java/blob/vertx/org.eclipse.paho.mqttv5.client/src/main/java/org/eclipse/paho/mqttv5/client/MqttClient.java 大概在 355 行左右。本来想换个5,体验一下其他特性,于是兴冲冲的换成了下面 mqttv5 版本。当然了,老人家其他的方法回调还是OK的。老人家在新版本开发了,关闭 issue。

2024-08-22 17:14:09 246

原创 IntellIJ IDEA Ctrl Shift F 全局搜索不起作用

如果是 微软拼音情况下,会不起作用。

2024-08-20 10:46:45 293

原创 前后端交互,数据库设计,null 值问题

我现在在财务办公室,设置今年的 GDP 增长率或者利润率,可能是正的表示增长,可能是负值亏损,请问我是 0 表示不增不亏,还是用 null 表示还没统计出结果,还是使用 0.8,或者 80,或者 1000 表示翻了10倍呢?我现在在地理科研室,出去跑地理环境,海平面定义 0米,海平面以下是负值,请问我传 null 表示这个地方我还没有设置过海拔,还是传 -1000, 表示马里纳海沟呢?竟然有儍痹,给温度设置默认值,-1000。比如 Geometry,可以表示,点,线,面,多点,多线,多面。

2024-04-17 10:45:14 172

原创 Skywalking 踩坑

Exception in thread “main” java.lang.NullPointerException: authority:因为 SW_OAP_ADDRESS 配置需要添加 http://no provider found for module storage:因为高版本的 skywalking-server 会自动识别,SW_STORAGE 的值只需要 elasticsearch。使用的是 9.7.0 的 skywalking。

2024-03-23 14:04:30 424

原创 Intellij IDEA Java compiler 重置问题

你是不是发现你的JDK 明明用的 17,结果编译使用的是 1.5 或者 1.8。在你的 pom.xml 里添加 maven 编译插件,版本 17。对没错,就是这个 java compiler 在捣鬼。

2024-03-21 16:57:28 280

原创 Sentinel Dashboard 页面空白

一定要写 ip 地址,别写 localhost,同样,在浏览器访问的时候也注意。可以用 127.0.0.1 ,可以网卡 192.168.106.92,但是不要用 localhost。所以自己可以在本地下载一个 sentienl 的 jar 包自己启动,也可以自己在本地搞个 docker 启动。测试用的是本地的服务,所以 sentinel 访问 192.168.106.92 访问不通,博主当时 sentinel 用的自己的阿里云服务器,或者把服务部署到sentinel 能访问到的,

2024-03-15 19:05:55 659

原创 OSI 七层网络模型【谐音记忆】

回传:足球 A 传给 B,B 再传给 A 就称为 ”回传“,你将音标发送给一个特殊的服务器,服务器会立刻将内容再传给你,对你而言,就是音标回传。吴叔:刘备字玄德,关云字云长,张飞字翼德,陈胜吴广起义想必大家都学过,但是很多人不知道的是吴广字什么,吴广字叔,所以这里对吴广就称为 “吴叔”网速无:当音标往回传输的时候,动用一点想象力,将音标想象成实体的,将细细的网线堵住了,音标堵住了网线,网速自然就没了。对应 七层网络模型,也使用谐音记忆,分别是 “音标回传网速无” 和 “吴叔网传会标鹰”

2023-06-11 01:53:53 341

原创 电脑网络问题

选择【高级】→【重置】→【应用】选择【Internet选项】

2023-03-28 19:22:32 64

原创 POJO分层领域模型

POJO 看我就完事了。

2022-09-02 19:47:48 874 4

原创 Win10 修改用户名

saf

2021-08-10 15:33:57 8970 2

原创 Markdown语法

typora-copy-images-to: uploadMarkdown语法Markdown语法本地 Markdown 软件,推荐使用 Typora标题使用方法符号 # 号,后面加一个空格示例# 标题# 快捷键Ctrl + 1/2/3/4/5/6 [标题仅有6级] Ctrl+加号 标题等级提升 [加号是Backspace左边那个,小键盘上的加号可能没用]Ctrl+减号 标题等级下降Ctrl+0 直接转成段落字体粗体# 使用方式,在字体两边各加2个 * 号**.

2021-07-09 21:32:17 123

【Java零基础入门】老鼠试毒

【Java零基础入门】老鼠试毒

2022-06-27

java虚拟机精讲pdf

java虚拟机精讲,高翔龙编著,适合有一定java基础的开发人员,深入理解java虚拟机的帮助文档

2018-07-19

oracle整理

oracle数据库的整理笔记,超细超全,非常好用,新手入门必备

2018-06-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除