面试官:如何设计一个高并发系统?

面试题 如何设计一个高并发系统? 面试官心理剖析 面试官对高并发系统的深入询问,实际上是对求职者专业技能和经验的精准检验。在许多公司发布的职位描述(JD)中,高并发经验被视作一项重要的加分项,这反映了当前互联网行业对高并发处理能力的极高...阅读全文

新零售SaaS架构:订单履约系统的应用架构

本文主要讨论了订单履约系统的应用架构。首先提出了订单履约系统的三大核心能力,分别是履约服务表达、履约调度和物流配送。文中还详细介绍了订单履约系统的应用架构,包括C端履约服务和B端管理模块,以及领域层的能力。 ...阅读全文

最佳软件架构书籍终极清单 (2024)

软件架构是成功开发软件产品的基础。精心设计的软件架构可以大大提高系统的质量。它还有助于降低出错风险,并使将来添加新特性和功能变得更加容易。在这篇博文中,我将为您列出 2024 年最值得一读的软件架构书籍,以及 2024 年将出版哪些有趣...阅读全文

Redis能保证数据不丢失吗?

Redis主要在内存中操作数据,内存是一种临时存储,一旦断电(或者硬件故障、软件错误等),内存中的数据就会烟消云散。有的同学会说,数据不是会保存到硬盘吗?是的,但是还是可能会有一些数据来不及写入硬盘,这是Redis的持久化机制导致的。而...阅读全文

[设计模式]创建型模式-抽象工厂模式

简介 抽象工厂模式是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式将一组具有共同主题的单个工厂封装起来,它提供接口用于创建相关或依赖对象的家族,而不需要指定具体的类。 抽象工厂模...阅读全文

新零售SaaS架构:什么是订单履约系统?

订单履约系统用来管理从接到销售订单,到把货品送到客户手中的整个业务过程。它是上游交易(如销售和客户下单环节)和下游仓储配送(如库存管理、物流)之间的桥梁,确保信息流的顺畅和操作的协同,提升整个供应链的效率和响应速度。 ...阅读全文

我们在SqlSugar开发框架中,用到的一些设计模式

我们在《SqlSugar开发框架》中,有时候都会根据一些需要引入一些设计模式,主要的目的是为了解决问题提供便利和代码重用等目的。而不是为用而用,我们的目的是解决问题,并在一定的场景下以水到渠成的方式处理。不过引入任何的设计模式,都会增加...阅读全文

[设计模式]创建型模式-简单工厂模式

简介 简单工厂模式又称为静态工厂模式,属于创建型模式,但不属于GOF23设计模式。由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 简单工厂适用场景:工厂类负责创...阅读全文

[设计模式]创建型模式-单例模式

前言 单例模式是最简单的一种模式。在Go中,单例模式指的是全局只有一个实例,并且它负责创建自己的对象。单例模式有减少内存和系统资源开销、防止多个实例产生冲突等优点。 因为单例模式保证了实例的全局唯一性,并且只被初始化一次,所以比较适合全...阅读全文

[设计模式]行为型模式-策略模式

前言 策略模式定义了一系列算法,并将每个算法封装起来,使它们可以互相替换,且算法的变换不会影响使用算法的客户。 在项目开发中,我们经常要根据不同的场景,采取不同的措施,也就是不同的策略。假设我们需要对a、b这两个整数进行计算,根据条件的...阅读全文

遍历用for还是foreach?

在编程的世界里,我们经常需要对数据进行循环处理,常用的两种方法就是:for循环和foreach循环。想象你站在一条装满宝贝的传送带前,你要亲手检查每一件宝贝。使用for循环就像是你亲手控制传送带的速度和方向,而使用foreach循环则是...阅读全文

分布式事务详解

概述 随着互联网的发展,软件系统由原来的单体应用转变为分布式应用。分布式系统把一个单体应用拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作。这种分布式系统下不同服务之间通过远程协作完成的事务称之为分布式事务,例...阅读全文

Elasticsearch实现Mysql的Like效果

在Mysql数据库中,模糊搜索通常使用LIKE关键字。然而,随着数据量的不断增加,Mysql在处理模糊搜索时可能面临性能瓶颈。因此,引入Elasticsearch作为搜索引擎,以提高搜索性能和用户体验成为一种合理的选择。 1、客户的诉求...阅读全文

系统干崩了,只认代码不认人

各位朋友听我一句劝,写代码提供方法给别人调用时,不管是内部系统调用,还是外部系统调用,还是被动触发调用(比如MQ消费、回调执行等),一定要加上必要的条件校验。千万别信某些同事说的这个条件肯定会传、肯定有值、肯定不为空等等。这不,临过年了...阅读全文

java代码实现自动生成数据库表er图

最近有同事看到字节跳动产品设计文档里有数据库表er图。就想问问又没有现成的工具也给直接生成一个er图,经查找验证发现并没有。因为现在表关系都是用的逻辑外键而非物理外键约束的,所以像navicat等工具就算生成了也没有描述关系的连接线。那...阅读全文

新零售SaaS架构:促销系统架构设计

促销业务概述 什么是促销? 促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多。促销的方法有很多种,比如,价格优惠、赠品、优惠券、折扣、买一赠一等形式。 特别是在新零售行业,促销更加重要,由于...阅读全文