状态机幂等

何为状态幂等? 先了解何为幂等。 幂等大家应该都知道。 在针对数据更新操作的幂等中,有一个实现方案是基于版本号的数据库乐观锁。 在账户记账业务中,我们通常会使用这种方式。 具体的姿势是下面2步(前提是表里有version): 查询数据,...阅读全文

一文搞懂架构设计的衡量标准:功能性、可用性、性能、可扩展性、安全性、协作效率、复杂度、成本效益

大家好,我是汤师爷~ 架构设计的首要目标是服务于业务需求。因此,我们不应该盲目追求所谓的"最厉害的"架构,而应该致力于寻找最适合当前业务环境和未来发展需求的架构方案。 衡量架构的合理性是一个复杂的过程,需要从多个角度...阅读全文

与AI对话 --- 软件层级 Q:

Q: 我们来讨论一个具体的层级关系。假设有一个DisplayObject 层级。然后我们有一个层级,专门封装了一些方法,关于如何画displayobject。 这个层级是服务于display object ,可以看作是display o...阅读全文

如何做好软件架构师

本文以个人视野聊下软件架构师的工作以及软件架构设计知识。做开发工作接近10年了,期间主要做Windows应用开发。在成熟的“华南区最大WPF团队”希沃白板呆了较长一段时间、后面从0到1构建Windows技术栈以及会议屏软件集,在软件设计...阅读全文

[Java]代理模式

本篇文章主要是对静态代理和动态代理实现思路的简述,以示例为主,少涉及理论。 如果文中阐述不全或不对的,多多交流。 ...阅读全文

知识就是力量?

有思想、知章法,才能做出更好的系统!正如本案例,如果不假思索地在zhongtai-trans的付款查询接口上加上商户id,就有些不伦不类了。 ...阅读全文

什么是南北向流量和东西向流量?

在云计算和微服务架构中,南北向流量和东西向流量是两种常见的流量模式。 南北向流量(North-South Traffic) 定义:南北向流量指的是从外部进入系统内部或从系统内部出去的流量,通常是客户端到服务器之间的通信,例如用户通过浏览...阅读全文

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系统,识别核心应用服务。 划分应用结构,设计应用结构与业务流程、数据之间的关系。 设计应用结构之间的交互和集成关系。 本文主要分享一下应用服务、应用...阅读全文