如何保证MQ消息的幂等性

现在微服务开发中为了满足限流消峰、减少系统之间的耦合等实际业务的需要,于是系统中往往会引入了MQ,加入了MQ之后如何保证消费者的消费幂等性便是需要解决的问题了。…

两分钟彻底理解Read-Write Through机制

在Cache Aside策略中有概率(很低)出现数据不一致(数据库和缓存的数据不一致),虽然可以使用延迟双删机制来处理,但是还是比较复杂。 于是就出现了 Rea…

如何保证API接口安全?

一、背景介绍

在实际的业务开发过程中,我们常常会碰到需要与第三方互联网公司进行技术对接,例如支付宝支付对接、微信支付对接、高德地图查询对接等等服务,如果你是一…

罗列分布式事务解决方案

1、本地消息表

以订单成功之后扣减库存为例,通过记录一条扣减库存的记录和发送一条消息来保证两个服务之间数据的最终一致性。
(1)优点:实现逻辑简单,开发量小

Mysql数据表设计经验的总结

Mysql是我们开发中存储数据的常用工具之一,好的数据表设计不仅让业务更加清晰,而且也会让后面继续维护这套业务的人更易上手,今天我们从表的字段、索引等方面来聊聊…

揭秘Cookie、Session、JWT之间的关系

登录认证是任何系统中避不开的一个话题,登录认证随着系统架构的演变而出现与架构相适应的方案。下面介绍架构演变过程中登录常客Cookie、Session、JWT之间…

提高系统的并发能力方案

面试中经常会被问到如何提高系统的并发能力,针对此问题我整理如下的提高系统并发能力的方案:
(1)分流方案:常见的的方案有负载均衡、数据库拆分/集群、消息队列
(…

高并发下如何轻松的保证接口幂等性

日常的开发中有些接口对幂等性有严格的要求,如增加/扣减积分、用户支付/退款等场景,如果没有做接口的幂等性就会造成一定的资损或者用户投诉等问题。如下是增加积分过程…

如何设计一套单点登录系统

前言
在企业发展初期,使用的后台管理系统还比较少,一个或者两个。
以电商系统为例,在起步阶段,可能只有一个商城下单系统和一个后端管理产品和库存的系统。
随着业务…

图解支付系统整体设计

我喜欢马斯克经常挂在嘴边的第一性原理,探寻事务的本质,所以这篇文章也尝试化繁为简,讲清楚在线支付系统最核心的一些概念。
进入正题前,先讲个小故事。
那天早上,我…

Java并发特性之CountDownLatch详解!

CountDownLatch 是 Java 中的一个用于管理并发控制的同步辅助类,允许一个或多个线程等待其他线程完成操作,它的工作机制类似于“倒计时闩锁”,线程…

缓存穿透、击穿和雪崩,到底啥意思?

一 、背景介绍

每场后端面试,似乎都少不了关于 redis 的话题,比如项目使用过哪些分布式缓存服务,为什么要使用 redis,有没有碰到过缓存失效、缓存穿透…

SpringBoot整合Redis实现数据分布式缓存,实战分享!

01、背景介绍
在当前流行的微服务以及分布式集群环境下,Redis 的使用场景可以说非常的广泛,能解决集群环境下系统中遇到的不少技术问题,在此列举几个使用 r…

如何设计一个全局唯一的订单号?

01、背景介绍
在实际的软件系统开发过程中,由于业务的需要,我们经常需要生成业务单号,例如订单编号、入库单号、投诉服务单号等等,针对这个问题也做了一些研究,有…

设计百万QPS的短链服务

1、什么是短链接和长链接

上图是我们经常可以收到的一条流量通知的短信,短信有一个链接A:
https://dx.100XX.cn/JG1mEA
这个就是短链接…

如何设计日增几十万数据量的业务分库分表方案

随着公司的业务发展不断的壮大,像一些核心的业务(如订单)数据量会越来越大,此时就需要考虑分库分表方案来应对业务的发展。今天就来聊聊分库分表的一些设计方案。
1、…

服务降级,服务熔断,服务限流,如何区分?

服务降级、服务熔断和服务限流是分布式系统中常用的三种策略,用于提高系统的稳定性和可用性,尤其是在高并发和不确定性条件下,但是,很多人可能不知道它们的作用。这…

快速掌握分布式一致性算法Paxos

分布式一致性算法是用于在分布式系统中确保数据一致性的算法。在分布式计算环境中,数据通常会分布在多个节点中,这些节点可能由于网络延迟、故障或其他原因而导致数据的不…

Git 基础入门超详细学习教程

git版本控制系统

1、什么是版本控制
2、常见的版本控制工具
3、版本控制分类

3.1、本地版本控制
3.2、集中版本控制 SVN
3.3、分布式版本控…

面试中高级golang开发工程师岗位,会问到什么?

今天分享的是训练营的一个朋友在成都某家公司的面经,求职岗位是中高级golang开发工程师,考察的内容很全面也很有难度,值得学习一下。

岗位职责: