自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Lua从基础到实战

本文主要内容为Lua脚本语言的介绍、数据类型、分支判断、循环等基础操作,文章后面包含使用SpringBoot + Redis + Lua实现分布式锁机制

2022-07-06 21:26:06 4734

原创 分布式事务解决方案

在我们传统的单体的项目使用的事务都是,事务管理是管理方式而当我们的传统的单体项目被拆分成多个微服务应用,就比如三个模块 用户、商品、订单模块被拆分为三个独立的微服务应用,整体业务需要调用上述三个模块才能完成。此时每个服务内部的数据一致性由本地事务来保证, 但是全局的数据一致性问题没法保证想象一下,当我们扣除账户余额的时候若出现了网络波动或者程序异常,此时我们已经的商品库存已经扣除了,这样就造成了事务的一致性问题一句话:一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题。Seat

2022-07-01 14:13:10 516

原创 基于秒杀系统解决超卖、限流、Redis限时抢购等问题

一、什么是秒杀秒杀最直观的定义:在高并发场景下而下单某一个商品,这个过程就叫秒杀【秒杀场景】火车票抢票双十一限购商品热度高的明星演唱会门票…二、为什么使用秒杀早起的12306购票,刚被开发出来使用的时候,12306会经常出现 超卖 这种现象,也就是说车票只剩10张了,却被20个人买到了,这种现象就是超卖!还有在高并发的情况下,如果说没有一定的保护措施,系统会被这种高流量造成宕机【为什么使用秒杀】严格防止超卖库存100件 你卖了120件 等着辞职吧!防止黑客假如我们网

2022-03-26 15:54:44 3125 1

原创 基于SpringBoot + RabbitMQ实现注册异步发送邮箱

一、实现流程首先我们先了解一下传统方式的注册方式,从图中可以看到我们的代码是逐步执行的,上一步未完成下一步无法进行的,该流程非常的耗时,当前注册模块只有一个验证码功能,若以后增加更多模块以后服务会越来越耗时间当我们加入RabbitMQ中间件后,我们可以将其它的功能放入中间件中,注册功能只进行单独的注册即可,这样做可以为我们的模块大大减少了消耗时间一般的注册流程耗时6s+,加入RabbitMQ后的注册流程耗时1s+。二、代码实践1、搭建SpringBoot项目,导入以下依赖内容

2022-03-23 16:40:27 7282

原创 基于DockerCompose部署SpringBoot + MySQL

1、安装Docker#1.需要的安装包yum install -y yum-utils#2.设置镜像的仓库yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #使用阿里云仓库 #更新yum软件包索引yum makecache fast#3.安装docker相关的内容yum install docker-ce docker-ce-cli

2022-03-22 19:39:54 3338

原创 RabbitMQ的应用场景

1、异步处理假设想象一下我们做一个商城项目,在用户支付模块中,可能会涉及到其它业务,比如:积分折扣、消费券、短信验证等功能。我们传统的执行步骤是逐步执行,也就是说当用户点击支付 ----> 积分折扣 ----> 消费券 ----> 短信验证 ----->支付完成,用户需要等待每个业务执行完毕才能支付成功!假设我们从点击支付 -----> 支付成功消耗时间为100/ms,后面我们每新增一个业务就会多耗时50/ms,上述的流程大概会耗时250/ms!如果说以后业务更多的话,那么

2022-03-22 19:12:07 12172

原创 Java单例模式

单例模式饿汉式 /** * @Author 嘉宾 * @Date 2021/9/7 9:01 * @Description: 饿汉式单例 */public class Hungry { //可能会浪费空间 private byte[] data1 = new byte[1024*1024]; private byte[] data2 = new byte[1024*1024]; private byte[] data3 = new byte[1...

2022-03-14 19:15:07 321

空空如也

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

TA关注的人

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