rocketmq的面试题及原理 消息队列怎么避免重复消息消息队列一般都有重试机制,或者生产者多次发送。 所以需要保证消费者接口幂等性保障: 比如可以使用redis的setnx。 接口幂等性一锁、二判断、三更新 加分布式锁,判断状态机,更新至持久化的数据源中。 rocketmq如何保证消息的可靠性传输需要生产者、broker、消费者共同配置。 生产者使用同步或异步发送,重试。 broker使用多主多从架构,nameServer使用 2023-11-21 mq #mq #rocketmq
rocketmq的cluster布署 同步刷盘与异步刷盘跟mysql的同步刷盘和异步刷盘一样。 先放到内存中,是发送一条消息就刷到磁盘中,还是几条消息才刷到磁盘中。 同步复制与异步复制同mysql的同步复制与异步复制。 当出现主备主从架构后,主同步数据至备或者从。同步就是一条消息发送到主后,再同步到备或者从,都同步后才返回消息提交成功。 异步是只发送到主,就返回提交成功,异步传输到备或者从。 RAID10磁盘RAID 10(也称为RA 2023-11-18 mq #mq #rocketmq
rocketmq的使用 使用https://rocketmq.apache.org/zh/docs/quickStart/01quickstart 安装条件 64位操作系统,推荐 Linux/Unix/macOS 64位 JDK 1.8+ 如果源码编译安装需要安装maven 下载源码并编译12345wget https://dist.apache.org/repos/dist/release/roc 2023-11-16 mq #mq #rocketmq
mybatis_plus整合到springboot使用 概述MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具。 https://baomidou.com/ https://baomidou.com/pages/24112f/ 使用准备sql123456789101112131415CREATE TABLE `user`( id BIGINT NOT NULL COMMENT '主键ID', nam 2023-11-02 mybatis #mybatis #mybatis-plus
spring_cloud_alibaba之seata使用 概述https://seata.io/zh-cn/ https://seata.io/zh-cn/blog/seata-quick-start/ 用户文档要看一遍 部署TC serverhttps://github.com/seata/seata/releases 下载对应版本的压缩包。 解压: 1tar -zxvf seata-server-1.7.1.tar.gz 单机启动查看脚本seata 2023-10-30 spring_cloud #alibaba #seata
分布式事务解决方案 事务什么是事务事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。 本地事务在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系型数据库的事务又被称为本地事务。 数据库事务的四大特性:ACIDA(Atomic):原子性,构成事务 2023-10-23 系统设计 #系统设计 #分布式事务
阿里云OSS服务端签名后直传 阿里云OSS第一步注册登录阿里云 第二步搜索对象存储oss并开通进入OSS管理控制台 第三步创建bucket仓库 第四步修改CORS(否则上传图片会有跨域问题) 第五步获取自己的AccessKey 会有accesskey id 和 accesskey secret 引入SDKpom.xml 12345<dependency> <groupId>com.aliyun. 2023-10-19 java #java #阿里云 #OSS
购物车存储 购物车在很多电商系统中,用户不会一件一件的买商品,不是同一店铺,都是先加入购物车,然后去生成订单一起支付。购物车的概念对应超市中的购物车。 购物车的存储存储至数据库(mysql)数据库有连接上、存储上的瓶颈。 前端存储至localstorage 或者sessionstoragelocalstorage 没有过期时间 sessionstorage关闭浏览器后消失。 存储至缓存(redis)因为是缓存 2023-10-19 系统设计 #系统设计 #购物车
流量削峰 需求当系统发布后,系统在一定时间内总会有一个流量高峰,尤其是秒杀系统,在秒杀开始的那一秒是一条很直很直的线,这是因为秒杀请求在时间上高度集中于某一特定的时间点。一个特别高的流量峰值对资源的消耗是瞬时的。 为什么削峰服务器处理资源能力是恒定的,用或不用都是一样的,所以出现峰值会导致处理不过来,峰值过后又会闲下来。我们要保证服务质量,一般会按照峰值时计算,比如最大在线人数等指标。 削峰的目的: 一、可 2023-10-18 系统设计 #系统设计 #高并发 #流量削峰
高并发下扣减库存 需求系统中有商品,商品有库存数量,用户买商品扣减商品的库存。 扣减库存的几种方式下单扣减下单后立马扣减。有的人下单后不付款,恶意的人直接把库存下单完,影响商品销售。需要结合安全和反作弊的措施。 比如: 给经常下单不付款的买家进行标识(不扣减付款后再扣减) 某此类目最大购买数量 下单不付款的操作进行限制 付款扣减付款后再扣减。影响用户体验,用户下单后以为成功了,会出现下单后付不了款。 超卖现象。超卖 2023-10-18 系统设计 #系统设计 #高并发 #扣减库存