摘要: 一 重复消息 为什么会出现消息重复?消息重复的原因有两个:1.生产时消息重复,2.消费时消息重复。 1.1 生产时消息重复 由于生产者发送消息给MQ,在MQ确认的时候出现了网络波动,生产者没有收到确认,实际上MQ已经接收到了消息。这时候生产者就会重新发送一遍这条消息。 生产者中如果消息未被确认,或确 阅读全文
posted @ 2020-08-06 09:10 Java旅途 阅读(23343) 评论(0) 推荐(6) 编辑
摘要: 一条消费成功被消费经历了生产者->MQ->消费者,因此在这三个步骤中都有可能造成消息丢失。 一 消息生产者没有把消息成功发送到MQ 1.1 事务机制 AMQP协议提供了事务机制,在投递消息时开启事务支持,如果消息投递失败,则回滚事务。 自定义事务管理器 @Configuration public c 阅读全文
posted @ 2020-08-05 08:52 Java旅途 阅读(1421) 评论(0) 推荐(2) 编辑
摘要: 一大早,小王就急匆匆的跑过来找我,说:周哥,那个记录日志的功能我想请教一下。 因为公司某个项目要跟别的平台做对接,我们这边需要给他们提供一套接口。昨天,我就将记录接口日志的工作安排给了小王。 下面是我跟小王的主要对话。 我:说说怎么了? 小王:我将记录接口日志的功能放到了每个controller中, 阅读全文
posted @ 2020-08-04 09:01 Java旅途 阅读(972) 评论(1) 推荐(0) 编辑
摘要: 加密算法我们整体可以分为:可逆加密和不可逆加密,可逆加密又可以分为:对称加密和非对称加密。 一、不可逆加密 常见的不可逆加密算法有MD5,HMAC,SHA1、SHA-224、SHA-256、SHA-384,和SHA-512,其中SHA-224、SHA-256、SHA-384,和SHA-512我们可以 阅读全文
posted @ 2020-07-31 09:12 Java旅途 阅读(4496) 评论(6) 推荐(5) 编辑
摘要: 一 Nginx简介 1.1 什么是Nginx Nginx是一个高性能的http和反向代理服务器,其特点是占用内存小,并发能力强。Nginx专为性能优化而开发,性能是其最重要的考量,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。 1.2 反向代理 正向代理:在浏览器中配置代理服务器, 阅读全文
posted @ 2020-07-21 09:18 Java旅途 阅读(1194) 评论(2) 推荐(2) 编辑
摘要: 本次赠书活动是由公众号《Java旅途》发起的,最终解释权归《Java旅途》所有! 做这个公众号已经有两个月时间了,这两个月时间也会时而划水,也会周更四篇原创。在工作期间做这个号确实有点精力不足!熬夜更深了,头发更少了…… 不管怎么样,既然决定了就一定会坚持下去,这两个月时间也真心感谢公众号这些读者的 阅读全文
posted @ 2020-07-20 09:06 Java旅途 阅读(216) 评论(0) 推荐(0) 编辑
摘要: Stream是数据渠道,用于操作集合、数组等生成的元素序列。 Stream操作的三个步骤: 创建Stream 中间操作 终止操作 一、获取stream的四种方式 通过collection系列集合的stream()或parallelStream()获取。 @Test void test11(){ Li 阅读全文
posted @ 2020-07-16 08:53 Java旅途 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 方法引用就是通过类名或方法名引用已经存在的方法来简化lambda表达式。那么什么时候需要用方法引用呢?如果lamdba体中的内容已经有方法实现了,我们就可以使用方法引用。 一、方法引用的三种语法格式 1. 对象::实例方法名 lamdba写法: @Test void test1(){ Consume 阅读全文
posted @ 2020-07-14 08:44 Java旅途 阅读(1387) 评论(0) 推荐(1) 编辑
摘要: Spring Boot获取文件总的来说有三种方式,分别是@Value注解,@ConfigurationProperties注解和Environment接口。这三种注解可以配合着@PropertySource来使用,@PropertySource主要是用来指定具体的配置文件。 @PropertySou 阅读全文
posted @ 2020-07-08 08:39 Java旅途 阅读(6599) 评论(0) 推荐(0) 编辑
摘要: 一、sentinel的持久化配置 上一章中我们通过Dashboard来为Sentinel客户端设置各种各样的规则,但是这些规则默认是存放在内存中,极不稳定,无法用于生成环境,所以需要将其持久化。 DataSource 扩展常见的实现方式有: 拉模式:客户端主动向某个规则管理中心定期轮询拉取规则,这个 阅读全文
posted @ 2020-07-06 09:28 Java旅途 阅读(1356) 评论(0) 推荐(0) 编辑