-
Java秒杀系统实战系列~整合RabbitMQ实现消息异步发送
摘要: 本篇博文是“Java秒杀系统实战系列文章”的第八篇,在这篇文章中我们将整合消息中间件RabbitMQ,包括添加依赖、加入配置信息以及自定义注入相关操作组件,比如RabbitTemplate等等,最终初步实现消息的发送和接收,并在下一篇章将其与邮件服务整合,实现“用户秒杀成功发送邮件通知消息”的功能! 内容: 对于消息中间件RabbitMQ,想必各位小...
时间:2019-07-26点击:642收藏
-
Java秒杀系统实战系列~分布式唯一ID生成订单编号
摘要: 本篇博文是“Java秒杀系统实战系列文章”的第七篇,在本博文中我们将重点介绍 “在高并发,如秒杀的业务场景下如何生成全局唯一、趋势递增的订单编号”,我们将介绍两种方法,一种是传统的采用随机数生成的方式,另外一种是采用当前比较流行的“分布式唯一ID生成算法-雪花算法”来实现。 内容: 在上一篇博文,我们完成了商品秒杀业务逻辑的代码实战,在该代码中,我们...
时间:2019-07-23点击:611收藏
-
Java秒杀系统实战系列~整合Shiro实现用户登录认证
摘要: 本篇博文是“Java秒杀系统实战系列文章”的第五篇,在本篇博文中,我们将整合权限认证-授权框架Shiro,实现用户的登陆认证功能,主要用于:要求用户在抢购商品或者秒杀商品时,限制用户进行登陆!并对于特定的url(比如抢购请求对应的url)进行过滤(即当用户访问指定的url时,需要要求用户进行登陆)。内容: 对于Shiro,相信各位小伙伴应该听说过,甚...
时间:2019-07-21点击:615收藏
-
Java秒杀系统实战系列~待秒杀商品列表与详情功能开发
摘要: 本篇博文是“Java秒杀系统实战系列文章”的第四篇,从这篇文章开始我们将进入该秒杀系统相关业务模块的代码实战!本篇博文将首先从最简单的业务模块入手,即如何实现“获取待秒杀商品的列表以及查看待秒杀的商品详情”功能!内容: 对于“待秒杀商品列表及其详情的展示”这一功能,我们将采用目前比较流行的mvc开发模式来实现!值得一提的是,这一功能模块涉及的主要数据...
时间:2019-07-18点击:674收藏
-
Java秒杀系统实战系列~整体业务流程介绍与数据库设计
摘要: 本篇博文是“Java秒杀系统实战系列文章”的第三篇,本篇博文将主要介绍秒杀系统的整体业务流程,并根据相应的业务流程进行数据库设计,最终采用Mybatis逆向工程生成相应的实体类Entity、操作Sql的接口Mapper以及写动态Sql的配置文件Mapper.xml。内容: 对于该秒杀系统的整体业务流程,相信机灵的小伙伴在看完第二篇博文的时候,就已经知...
时间:2019-07-16点击:649收藏
-
Java秒杀系统实战系列~构建SpringBoot多模块项目
摘要:本篇博文是“Java秒杀系统实战系列文章”的第二篇,主要分享介绍如何采用IDEA,基于SpringBoot+SpringMVC+Mybatis+分布式中间件构建一个多模块的项目,即“秒杀系统”!。 内容:传统的基于IDEA构建SpringBoot的项目,是直接借助Spring Initializr插件进行构建,但是这种方式在大部分情况下,只能充当“单模...
时间:2019-07-15点击:730收藏
-
重磅发布- Java秒杀系统的设计与实战视频教程(SpringBoot版)
概要介绍:历经一个多月的时间,debug亲自录制的“Java商城秒杀系统的设计与实战视频教程(SpringBoot版)”终于完成了!在本课程中,debug真正的将之前所讲解的相关技术融入到了本课程中,即本课程所介绍的“秒杀系统”是一个真正意义上的项目,主要介绍了商城平台举办商品秒杀活动期间所涉及的相关业务。值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大...
时间:2019-07-15点击:789收藏
-
分布式事务中间件Seata的设计原理
在微服务架构体系下,我们可以按照业务模块分层设计,单独部署,减轻了服务部署压力,也解耦了业务的耦合,避免了应用逐渐变成一个庞然怪物,从而可以轻松扩展,在某些服务出现故障时也不会影响其它服务的正常运行。总之,微服务在业务的高速发展中带给我们越来越多的优势,但是微服务并不是十全十美,因此不能盲目过度滥用,它有很多不足,而且会给系统带来一定的复杂度,其中伴随而来的...
时间:2019-07-12点击:680收藏
-
RabbitMQ如何保证消息99.99%被发送成功?
1. 本篇概要RabbitMQ针对这个问题,提供了以下几个机制来解决:1、生产者确认2、持久化3、手动Ack 本篇博客我们先讲解下生产者确认机制,剩余的机制后续单独写博客进行讲解。2. 生产者确认要想保证消息不丢失,首先我们得保证生产者能成功的将消息发送到RabbitMQ服务器。但在之前的示例中,当生产者将消息发送出去之后,消息到底有没有正确地到达服务器呢?...
时间:2019-07-03点击:786收藏
-
大型网站稳定性技术建设
稳定性技术策略 什么是稳定性 对于大型微服务系统,在错综复杂的服务逻辑各种交互情景下,面对各种未知的条件变化,整体系统依旧能够正常平稳的提供服务,这便是稳定性。 影响稳定性的因素 系统稳定性影响因素非常多,举例来说: 服务间的依赖:某个服务 BUG 造成其他依赖服务的不可用; 业务逻辑变更:业务逻辑不断迭代演变,新老服务的不兼容; 访问流量激增:流量突然增加...
时间:2019-06-19点击:884收藏
-
Docker和Kubernetes中使用Ceph RBD卷的原理分析
在Docker或者Kubernetes中使用Ceph RBD块设备,相比于在宿主机中,是否会对性能造成额外损失?带着这些疑问对相关技术进行原理分析。Linux中的Mount绑定传播参考文档:1、Shared Subtrees;2、Mount namespaces and shared subtrees;3、Mount namespaces, mount pr...
时间:2019-06-06点击:736收藏
-
如何解决maven中snapshot相关jar无法拉取问题
如何解决maven中snapshot相关jar无法拉取问题? 这里提供2中解决方案 1、在项目中的pom.xml里面配置 <repositories> <repository> <id>nexus</id> <url>http://192.168.1.221:8081/nexus/content/g...
时间:2019-05-29点击:1279收藏
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境