自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java微服务下的分布式事务介绍及其解决方案2

1.前言 本文将详细介绍分布式的解决方案–消息队列实现分布式事务的解决方案 2.业务场景介绍 我们模拟慕课网付费课程的下单,你在慕课网买了视频后,你的学习列表要订单服务要更新你支付的状态,此外,学习服务要有你的添加选课信息 3.解决方案 下面我详细介绍下,这个解决方案 1、支付成功后,订单服务向本地数据库更新订单状态并向消息表写入“添加选课消息”,通过本地数据库保证订单状态和添加选课消息的事务。。 2、定时任务扫描消息表,取出“添加选课任务“并发向MQ。 3、学习服务接收到添加选课的消息,先查询

2021-03-25 10:23:28 89

原创 Java微服务下分布式事务介绍及其解决方案

1.前言 由于最近在学习springcloud的项目,现在互联网下,分布式,微服务横行,难免会遇到分布式下的事务问题,这是一个难点,也是面试经常问的,别面试官一看你简历,都是微服务项目,问你了解啥是分布式事务不,你来句没有,这就很尴尬了,当然微服务下可能没有分布式事务,但是很多场景是需要分布式事务的,下面我就来介绍下什么是分布式事务,和分布式事务的解决方案 2 问题描述 在介绍分布式事务下,下面我们先来了解一个常见应用场景,这个场景(类似慕课网购买付费课程)也是我后面要讲的分布式事务的解决方案的案例

2021-03-25 10:10:59 193

转载 垂直分库,垂直分表,水平分库,水平分表

分库分表是什么 下边以电商系统中的例子来说明,下图是电商系统卖家模块的表结构: 通过以下SQL能够获取到商品相关的店铺信息、地理区域信息: SELECT p.*,r.[地理区域名称],s.[店铺名称],s.[信誉] FROM [商品信息] p LEFT JOIN [地理区域] r ON p.[产地] = r.[地理区域编码] LEFT JOIN [店铺信息] s ON p.id = s.[所属店铺] WHERE p.id = ? 随着公司业务快速发展,数据库中的数据量猛增,访问性能也变慢了,优化迫在

2021-03-24 14:01:01 69

原创 Redis的Web应用场景

Redis的Web应用场景 1.在主页中显示***的项目列表 Redis使用的是常驻内存的缓存,速度非常快。LPUSH用来插入一个内容ID,作为关键字存储在列表头部。LTRIM用来限制列表中的项目数最多为5000。如果用户需要的检索的数据量超越这个缓存容量,这时才需要把请求发送到数据库。 2.删除和过滤 如果一篇文章被删除,可以使用LREM从缓存中彻底清除掉。 3.排行榜及相关问题 排行榜(leader board)按照得分进行排序。ZADD命令可以直接实现这个功能,而ZREVRANGE命令可以用来按照得分

2021-03-24 12:39:57 84

转载 如何用Redis实现分布式锁

如何用Redis实现分布式锁 一、一个可靠的、高可用的分布式锁需要满足以下几点 互斥性:任意时刻只能有一个客户端拥有锁,不能被多个客户端获取 安全性:锁只能被持有该锁的客户端删除,不能被其它客户端删除 死锁:获取锁的客户端因为某些原因而宕机,而未能释放锁,其它客户端也就无法获取该锁,需要有机制来避免该类问题的发生 高可用:当部分节点宕机,客户端仍能获取锁或者释放锁 二、利用单节点Redis实现分布式锁 利用单节点Redis实现分布式锁是最常用的一种方式,虽然没有考虑高可用,但是实现简单、成本低廉而被很.

2021-03-24 12:37:02 82

空空如也

空空如也

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

TA关注的人

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