Nginx HttpHeader增加几个关键的安全选项

针对像德勤这样的专业渗透测试(Pentest)的场景中,为了确保网站的安全性并通过严格的安全审查,需要为这些安全头配置更细致、专业的参数。 以下是对每个选项的建议以及设置值的详细说明: 1. Strict-Transport-Secur...阅读全文

vue3 + pnpm 打造一个 monorepo 项目

Monorepo 和 Multirepo 单一仓库(Monorepo)架构,可以理解为:利用单一仓库来管理多个packages的一种策略或手段;与其相对的是多仓库(Multirepo)架构 Monorepo 目录中除了会有公共的pack...阅读全文

1. rocket mq 总结

# 生产者1. 生产者重试,rocketMQ 服务端支持幂等吗?2. 生产者两种发送方式。 异步发送:调用线程不会阻塞,但调用结果会通过回调的形式,以异常事件或者成功事件返回。 同步发送:调用线程阻塞等待发送结果。3. 生产者发送的消息...阅读全文

第八章 分布式系统的麻烦

任何可能出错的东西都会出错 故障与部分失效 单机与分布式系统差异:单机软件运行较可预测,硬件正常时操作结果具确定性,遇硬件问题多导致整个系统故障。而分布式系统会面临部分失效情况,具有不确定性,其部分组件可能以不可预知方式损坏,这使分布式...阅读全文

图解:什么是多租户?

大家好,我是汤师爷~ 什么是多租户? 多租户是SaaS(软件即服务)领域里特有的一个概念。在SaaS服务中,“租户”指的就是使用这个SaaS系统的客户。 那么租户和用户有什么区别呢?举个例子。假设你正在使用一款面向企业(ToB)的Saa...阅读全文

一文搞懂促销系统架构设计

大家好,我是汤师爷~ 到了技术二面,面试官基本都会开始深挖你之前做过的项目。 比如:这个项目的业务背景是什么?你们的系统架构是怎么设计的?你在这个项目里具体做了哪些工作?有没有什么特别亮眼的地方? 所以,能不能把参与的项目整体弄明白、说...阅读全文

在分布式系统中使用异步管道创建实体

背景 在分布式系统中异步创建实体既是挑战也是优势,尤其是对于追求可扩展性、容错性和高效用户体验的大型企业而言。用于创建实体的异步(async)管道可以解耦服务、优雅地处理故障并最大限度地减少延迟。这些特性使企业能够在扩展过程中保持灵活、...阅读全文

吊打面试官!应用间交互如何设计?

大家好,我是汤师爷~ 应用交互是指不同应用结构之间的数据交换和通信方式。 在一个复杂的系统中,各个应用并不是孤立存在的,它们往往需要相互协作,才能完成更复杂的业务流程。 应用交互的设计就是为了确保这些系统和组件能够顺畅地“对话”,实现系...阅读全文

SaaS架构:应用服务、应用结构设计

大家好,我是汤师爷~ 应用架构设计通常包括以下步骤: 根据业务架构,将业务需求转化为IT系统,识别核心应用服务。 划分应用结构,设计应用结构与业务流程、数据之间的关系。 设计应用结构之间的交互和集成关系。 本文主要分享一下应用服务、应用...阅读全文

SaaS架构:中央库存系统架构设计

大家好,我是汤师爷~ 近年来,越来越多的零售企业大力发展全渠道业务。在销售额增长上,通过线上的小程序、直播、平台渠道等方式,拓展流量变现渠道。在会员增长方面,通过多样的互动方式,全渠道触达消费者,扩大会员规模。而全渠道的库存管理,逐渐变...阅读全文

SaaS架构:开放平台架构设计

大家好,我是汤师爷~ 今天聊聊开放平台架构设计。 为什么需要搭建开放平台 增强产品能力 开放平台能够让三方开发者和合作伙伴开发新的应用或服务,增加原有SaaS产品能力。这样就可以满足更多用户需求,从而提高用户的满意度和黏性。 促进创新 ...阅读全文

SaaS架构:多租户系统架构设计

什么是多租户? 多租户是SaaS领域的特有产物,在SaaS服务中,租户是指使用SaaS系统的客户,租户不同于用户,例如,B端SaaS产品,用户可能是某个组织下的员工,但整个企业组织是SaaS系统的租户。 多租户技术是一种软件架构技术,可...阅读全文

MQ核心作用异步&削峰&解耦使用场景详解

说在前面 在如今的高并发互联网应用中,如何确保系统在巨大的流量冲击下还能稳稳当当运转,是每个技术团队都会遇到的挑战。说到这,消息队列(MQ) 就是背后的“大功臣”了。 无论是异步处理请求、平滑应对流量高峰,还是让各个系统模块相互独立不“...阅读全文

我在大厂做 CR——再谈如何优雅修改代码

书接上回为什么需要依赖注入再做下扩展 上文谈到:“基于抽象接口编程确实是最佳实践:把易于变动的功能点通过定义抽象接口的形式暴露出来,不同的实现做到隔离和扩展,这体现了开闭原则” public class Foo { private Ba...阅读全文