
《Java分布式中间件实战》
文章平均质量分 93
基于Java实战各种主流的分布式中间件技术栈,既讲基本概念,也讲实际的应用场景!包含Redis、RabbitMQ、Redisson、分布式锁、Dubbo、ZooKeeper、Kafka、ElasticSearch、ElasticJob、Netflix、Nacos、Websocket、Flink等等
修罗debug
曾担任阿里大文娱事业部Java高级后端开发工程师,fightjava.com 创始人, 长期扎根于一线编码开发、系统架构设计与项目管理,拥有多年开发与管理经验,目前是一名互联网行业的创业者;
出版的书籍:《分布式中间件技术实战(Java版)》、《Spring Boot企业级项目开发-入门到精通》
51CTO学院、CSDN学院、网易云课堂等教育平台知名讲师,教授学生上万人,拥有大量原创博客,博客访问量达百万人次;
追求技术,热爱分享,相信技术改变生活,技术成就梦想,一直在不断的学习和积累新的知识,秉承修罗之道,花名“阿修罗”(修罗debug)
展开
-
熬夜整理的RabbitMQ知识点相当齐全的文章
2021年开年文章奉上!!!在如今微服务、分布式时代,不懂一点消息队列、服务解耦、异步通信,都不好意思说自己做过Java高并发、分布式项目了;趁着金三银四跳槽季,debug熬夜整理了消息中间件RabbitMQ相关的知识点,对于没撸过这一技术栈的小伙伴而言可以说是福利了,而对于已经撸过的小伙伴而言不妨再过一遍,毕竟温故而知新嘛!以下为本文的目录,先一睹为快:一、基本概念 二、RabbitMQ底层架构 三、如何在Spring Boot项目中使用 四、福利奉上!话不多说,咱们直接进入正题.原创 2021-02-18 09:54:34 · 734 阅读 · 0 评论 -
RabbitMQ实战专题前言
概要介绍:关于消息中间件,或者消息队列,相信诸位都耳熟能详,其作用我想在此也无需长篇论述,譬如经常听见的分布式限流、业务服务模块解耦、抢单高并发、消息异步通知等场景几乎都可以见到消息中间件的影子。博文目的:既然有如此多的好处,那我们得好好的利用一番。在这里我介绍的是RabbitMQ,是一款遵循AMQP协议的目前在企业微服务应用以及高并发系统中使用相当广泛的消息中间件,在后续博文中,我将开始关于...原创 2018-08-20 20:58:13 · 1134 阅读 · 1 评论 -
SpringBoot整合RabbitMQ之Spring事件驱动模型
实战背景:在进入RabbitMQ各大技术知识点之前,我们先来谈谈跟事件驱动息息相关的ApplicationEvent、ApplicationListener以及ApplicationEventPublisher这三大组件,点击进去看其源码可以发现里面使用的CachingConnectionFactory、ApplicationContextAware等组件将跟我们介绍的RabbitMQ的相关组件有...原创 2018-09-05 18:53:05 · 3130 阅读 · 1 评论 -
SpringBoot整合RabbitMQ之整合配置篇
实战背景:RabbitMQ实战第一阶段-RabbitMQ的官网拜读已经结束了,相信诸位童鞋或多或少都能入了个门,如果还是觉得迷迷糊糊似懂非懂的,那我建议诸位可以亲自去拜读拜读官网的技术手册或者看多几篇我的视频跟源码!因为接下来我们将进入第二阶段,即应用实战阶段。其中,第一阶段的内容因为属于入门级别的知识要点,所以以视频的形式体现出来,具体可以加入QQ群:java开源技术交流-583522159 获...原创 2018-09-05 18:40:52 · 31905 阅读 · 11 评论 -
SpringBoot整合RabbitMQ之发送接收消息实战
实战前言前几篇文章中,我们介绍了SpringBoot整合RabbitMQ的配置以及实战了Spring的事件驱动模型,这两篇文章对于我们后续实战RabbitMQ其他知识要点将起到奠基的作用的。特别是Spring的事件驱动模型,当我们全篇实战完毕RabbitMQ并大概了解一下RabbitMQ相关组件的源码时,会发现其中的ApplicationEvent、ApplicationListener、...原创 2018-09-15 19:58:22 · 29735 阅读 · 11 评论 -
SpringBoot整合RabbitMQ之 典型应用场景实战一
实战前言RabbitMQ 作为目前应用相当广泛的消息中间件,在企业级应用、微服务应用中充当着重要的角色。特别是在一些典型的应用场景以及业务模块中具有重要的作用,比如业务服务模块解耦、异步通信、高并发限流、超时业务、数据延迟处理等。其中课程的学习链接地址:https://edu.csdn.net/course/detail/9314RabbitMQ 官网拜读首先,让我们先拜读 Ra...原创 2018-10-09 15:08:04 · 92086 阅读 · 62 评论 -
SpringBoot整合RabbitMQ之 典型应用场景实战二
实战前言RabbitMQ 作为目前应用相当广泛的消息中间件,在企业级应用、微服务应用中充当着重要的角色。特别是在一些典型的应用场景以及业务模块中具有重要的作用,比如业务服务模块解耦、异步通信、高并发限流、超时业务、数据延迟处理等。上一篇博文我分享了RabbitMQ在业务服务模块解耦,异步通信与抢单系统高并发情况下限流作用等,感兴趣的童鞋可以前往阅读:https://blog.csdn.net/...原创 2018-10-09 15:16:42 · 4015 阅读 · 12 评论 -
Redis实战(1)-SpringBoot2.0整合Redis自定义注入模板操作Bean组件
摘要:对于Redis,相信很多小伙伴早已有所耳闻,更有甚者,已经将其应用到许许多多的项目当中了!没错,它就是目前业界应用相当广泛的其中一种缓存中间件,也可以算是其中的佼佼者吧,从本篇文章开始,我们将基于SpringBoot2.0整合搭建的微服务项目为奠基,开启中间件Redis的实战之路!原创 2020-01-29 22:50:00 · 1027 阅读 · 0 评论 -
Redis实战(2)-数据结构之字符串String实战之存储对象
摘要:在Redis众多数据结构当中,字符串String可以说是其中比较常见、应用比较频繁的一种了,本文我们将介绍数据类型~字符串String 在命令行的简单使用及其在实际业务场景中的应用与代码实战,其中应用场景为“存储前端门户网站的商品详情信息”,从而减少数据库DB的访问频率,提高接口的响应速率!原创 2020-02-03 21:50:40 · 1921 阅读 · 0 评论 -
Redis实战(3)-数据结构List实战一之商品信息的有序存储
摘要:电商平台的管理后端一般有两大角色的用户可以使用,一个是系统管理员,一个是平台的卖家/商家,对于商家而言,管理自个儿的商品是日常工作中再为普通不过的事情了,本文我们将以“有序存储并展示电商平台中商家上传的各式各样的商品列表”,这里的关键词是“有序存储与展示”,我们将借助缓存中间件Redis的数据结构~列表List进行实战实现!原创 2020-02-05 09:53:19 · 1160 阅读 · 1 评论 -
Redis实战(4)-数据结构List实战之队列特性实现消息多线程 广播通知
摘要:电商平台的管理后端一般有两大角色的用户可以使用,一个是系统管理员,一个是平台的卖家/商家,对于商家而言,管理自个儿的商品是日常工作中再为普通不过的事情了,而对于系统管理员而言,有时候需要发布一些活动公告通知商家进行报名参加,本文我们将基于List的队列特性实现公告消息的广播通知功能!原创 2020-02-06 10:59:11 · 844 阅读 · 0 评论 -
Redis实战(5)-数据结构Set实战之过滤用户注册重复提交的信息
摘要:毫无疑问,集合Set同样也是缓存中间件Redis中其中一个重要的数据结构,其内部存储的元素/成员具有“唯一”、“随机”等特性,在实际的项目开发中同样具有相当广泛的应用场景。本文我们将介绍并实战一种比较典型的业务场景~“重复提交”,即如何利用集合Set的相关特性实现“用户注册时过滤重复提交的消息”!原创 2020-02-07 12:08:43 · 782 阅读 · 0 评论 -
Redis实战(6)-数据结构Set实战之获取随机乱序唯一的试卷题目
摘要:缓存中间件Redis拥有许多丰富、重要且有趣的数据结构,集合Set便是其中的一个佼佼者,其核心特性跟JavaSE集合体系中的Set几乎一毛一样,即“无序”且“唯一”,当我们向集合Set伸手要一个元素时,其底层会随机地给我们发一个元素!本文我们将继续给各位小伙伴介绍并实战另外一种典型的业务场景~从“考试系统”中获取随机、乱序且唯一的试卷题目列表。原创 2020-02-08 10:27:56 · 926 阅读 · 0 评论 -
Redis实战(7)-有序集合SortedSet之认识有序集合(命令行与代码实战)
摘要:缓存中间件Redis拥有许多丰富、重要且有趣的数据结构,前文介绍的字符串String、列表List和集合Set便是其中的佼佼者,本文以及后续篇章介绍的有序集合SortedSet和哈希Hash数据结构亦是如此,毫不夸张的说,当我们谈及Redis的应用场景时,这几种数据结构几乎都会涉及。本文我们将以命令行和代码的形式继续认识一下Redis的有序集合SortedSet原创 2020-02-09 09:30:07 · 720 阅读 · 0 评论 -
Redis实战(8)-有序集合SortedSet典型应用场景实战之游戏充值排行榜
概述:本系列博文所涉及的相关内容来源于debug亲自录制的实战课程:缓存中间件Redis技术入门与应用场景实战(SpringBoot2.x + 抢红包系统设计与实战),感兴趣的小伙伴可以点击自行前往学习(毕竟以视频的形式来掌握技术 会更快!)文章所属技术专栏:缓存中间件Redis技术入门与实战摘要:缓存中间件Redis的数据结构~有序集合SortedSet在实际项目开发中还是比较常见的,特别...原创 2020-02-10 10:05:53 · 1490 阅读 · 1 评论 -
Redis实战(9)-有序集合SortedSet实战之再谈游戏充值排行榜(如何处理历史与异常的充值记录)
摘要:每当我们谈起缓存中间件Redis的应用场景时,我们一般都会根据其数据结构联想到对应的应用场景,有序集合SortedSet也不例外,“排行榜”一直都是与其紧密挂钩、不得不谈的其中一种实战场景!本文我们将继续再谈“游戏充值排行榜”,介绍如何去处理历史已经存在的充值记录 或者 在将充值记录塞入缓存Cache失败时如何开启后续的补偿处理措施!原创 2020-02-14 09:56:19 · 648 阅读 · 0 评论 -
Redis实战(10)-Hash实战之借助命令行和代码形式认识一下哈希
对于哈希数据类型Hash,有些小伙伴在实际的项目开发中相对于Redis其他的数据结构而言,可能用得并不多。然而,从“道”的层面上看,这丝毫不影响一个客观事实、规律的存在:那就是哈希Hash本身也很强大,从本文开始我们将介绍数据类型~哈希Hash的相关特性及其相应的API和命令行层面上的操作!原创 2020-02-17 16:09:03 · 641 阅读 · 0 评论 -
Redis实战(11)-哈希Hash典型应用场景实战之系统数据字典实时触发缓存存储
摘要:前文我们已经介绍并实战了Redis的数据类型哈希Hash的相关命令行及其对应的Java单元测试的实战代码,本文我们将以实际项目中典型的应用场景“系统数据字典模块的实时触发存储”为案例,学以致用,一起践行哈希Hash在实际项目下的实战应用,感受感受其在实际业务场景下的作用!原创 2020-02-21 11:31:54 · 890 阅读 · 0 评论 -
Redis实战(12)-基于Redis的Key失效和定时任务调度实现订单超时未支付自动失效(延时队列)
“商城平台用户下单”这一业务场景相信很多小伙伴并不陌生,在正常的情况下,用户在提交完订单/下完单之后,应该是前往“收银台”选择支付方式进行支付,之后只需要提供相应的密码即可完成整个支付过程;然而,“非正常的情况”也总是会有的,即用户在提交完订单之后在“规定的时间内”迟迟没有支付,这个时候我们就需要采取一些措施了,本文就是讲解如何基于Redis的Key失效,即TTL + 定时任务调度 实现这一业务场景的功能。原创 2020-02-27 10:46:32 · 2227 阅读 · 2 评论 -
1024技术干货 ~ Java如何防止接口重复提交
正如本文标题所言,今天我们来聊一聊在Java应用系统中如何防止接口重复提交;简单地讲,这其实就是“重复提交”的话题,本文将从以下几个部分展开介绍: 1.“重复提交”简介与造成的后果2.“防止接口重复提交”的实现思路3.“防止接口重复提交”的代码实战 一、“重复提交”简介与造成的后果对于“重复提交”,想必各位小伙伴都知晓它的意思,简单的理解,它指的是前端用户在间隔很短的时间周期内对同一个请求URL发起请求,导致前端开发者在很短的时间周期内将同一...原创 2020-10-24 09:58:04 · 3531 阅读 · 0 评论 -
SpringBoot实战实现分布式锁一之重现多线程高并发场景
实战前言:上篇博文我总体介绍了我这套视频课程:“SpringBoot实战实现分布式锁” 总体涉及的内容,从本篇文章开始,我将开始介绍其中涉及到的相关知识要点,感兴趣的小伙伴可以关注关注学习学习!!工欲善其事,必先利其器,介绍分布式锁使用的前因后果之前,得先想办法说清楚为啥需要分布式锁以及如何才需要将分布式锁搬上用场!!实战概要:故而此文将介绍一下分布式锁出现的背景以及如何才能将分布式锁搬上用场(...原创 2019-03-12 15:41:33 · 21714 阅读 · 11 评论