mass mess Monolithic system 单体系统的问题
摘要:1. 单体系统太大了 最首要的一个原因就是应用系统太大。而由于应用系统的过于庞大,如果仅是单体系统的话,就引发了各种各样的问题,体现在以下三个方面: 1.1. 系统本身业务复杂,模块众多 系统随着时间的发展,业务需求越来越多。而为了满足这些需求,就导致整个系统的模块越来越多。而系统模块越来越多,就导
阅读全文
行锁、间隙锁和临建锁有什么区别
摘要:行锁、间隙锁和临建锁有什么区别 面试突击:MVCC 和间隙锁有什么区别? MVCC 和间隙锁是两种完全不同的机制,但它们的目的都是相同的,都是用来保证数据库并发访问的,我们先来看二者的定义。 MVCC 定义 MVCC 是多版本并发控制(Multi-Version Concurrency Contro
阅读全文
程序6种性能优化
摘要:这6种性能优化,让你的程序飞起来! 软件设计开发某种意义上是"取"与"舍"的艺术。关于性能方面,就像建筑设计成抗震9度需要额外的成本一样,高性能软件系统也意味着更高的实现成本,有时候与其他质量属性甚至会冲突,比如安全性、可扩展性、可观测性等等。大部分时候我们需要的是:在业务遇到瓶颈之前,利用常见的技
阅读全文
本地消息表模式
摘要:分布式事务 | 使用 dotnetcore/CAP 的本地消息表模式 本地消息表模式 本地消息表模式,其作为柔性事务的一种,核心是将一个分布式事务拆分为多个本地事务,事务之间通过事件消息衔接,事件消息和上个事务共用一个本地事务存储到本地消息表,再通过定时任务轮询本地消息表进行消息投递,下游业务订阅消
阅读全文
架构设计估算
摘要:架构设计:估算 估算在系统设计中非常重要,这决定了你的设计是否可以满足要求,要实现比较靠谱的估算,就需要对如下几个概念熟练掌握 第一个概念:二的幂 尽管在处理分布式系统时,数据量可能是巨大的,但计算都可以归结为基础知识。为了获得正确的计算结果,关键是要知道使用2的幂的数据量单位。一个字节是一个8位的
阅读全文
优雅的API接口
摘要:优雅的API接口 瞧瞧别人家的API接口,那叫一个优雅 前言 在实际工作中,我们需要经常跟第三方平台打交道,可能会对接第三方平台API接口,或者提供API接口给第三方平台调用。 那么问题来了,如果设计一个优雅的API接口,能够满足:安全性、可重复调用、稳定性、好定位问题等多方面需求? 今天跟大家一起
阅读全文
Microsoft Child Process Debugging Power Tool 插件
摘要:使用 Visual Studio 2022 调试Dapr 应用程序 使用Dapr 编写的是一个多进程的程序, 两个进程之间依赖于启动顺序来组成父子进程,使用Visual Studio 调试起来可能会比较困难,因为 Visual Studio 默认只会把你当前设置的启动项目的启动调试。 好在有Visu
阅读全文
Redis-单一接口优化
摘要:【性能优化】单一接口优化过程全记录(主要涉及Redis) 接口优化过程记录 问题背景 某个接口耗时长(247ms),但里面逻辑不算复杂,只进行了简单的对象引用以及操作了多次Redis 步骤1:链路追踪,确定业务耗时点 接口里通过链路追踪以及日志查询发现主要是操作Redis的这条链路耗时变长 步骤2:
阅读全文
CQRS是一种与领域驱动设计和事件溯源相关的架构模式
摘要:命令查询职责分离 - CQRS 概念 CQRS是一种与领域驱动设计和事件溯源相关的架构模式, 它的全称是Command Query Responsibility Segregation, 又叫命令查询职责分离, Greg Young在2010年创造了这个术语, 它是基于Bertrand Meyer
阅读全文
多租户
摘要:多租户系统架构设计 什么是多租户? 多租户是SaaS领域的特有产物,在SaaS服务中,租户是指使用SaaS系统的客户,租户不同于用户,例如,B端SaaS产品,用户可能是某个组织下的员工,但整个企业组织是SaaS系统的租户。多租户技术是一种软件架构技术,可以实现多个租户共享系统实例,并且租户间能够实现
阅读全文
架构EBI、DDD、端口适配、洋葱、整洁
摘要:领域驱动架构及其演变史(EBI、DDD、端口适配、洋葱、整洁) 一、引子 聊架构总离不开“领域驱动架构”,大多能聊到DDD(Domain-Driven Design),实际上早期思想EBI架构 1992年就诞生了。核心价值点在于:关注核心业务领域(高内聚),分离实现层(低耦合)。后续一些演变架构有:
阅读全文
OnionArch-NorthwindTraders,sample-dotnet-core-cqrs-api
摘要:NorthwindTraders, sample-dotnet-core-cqrs-api 项目 OnionArch - 采用DDD+CQRS+.Net 7.0实现的洋葱架构 博主最近失业在家,找工作之余,看了一些关于洋葱(整洁)架构的资料和项目,有感而发,自己动手写了个洋葱架构解决方案,起名叫On
阅读全文
框架-技术架构
摘要:框架-技术架构 现代企业架构框架: https://mp.weixin.qq.com/s/SlrEu0_t0slijrNZ6DP4Ng 业务架构: https://mp.weixin.qq.com/s/zQCjiHuxFvAg5QiOAuLAcQ 应用架构:https://mp.weixin.qq.
阅读全文
业务架构
摘要:现代企业架构框架 — 业务架构 3.1业务架构元模型综述 业务架构 (Business Architecture) 定义了企业各类业务的运作模式及业务之间的关系结构。它以承接企业战略为出发点,以支撑实现企业战略为目标, 通过对于业务能力的识别与构建,并将业务能力以业务服务的方式透出,实现对于业务流程
阅读全文
.NET6接入Skywalking链路追踪
摘要:.NET6接入Skywalking链路追踪完整流程 一、Skywalking介绍 Skywalking是一款分布式链路追踪组件,什么是链路追踪? 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开
阅读全文
存储选型海量数据
摘要:架构师之路,从「存储选型」起步 经常有人问,架构师的学习路线是什么? 我一般推荐架构师的基本功,是从「存储选型」开始的。 本文整理了存储选型的思路和整体框架,主要包括几个部分内容: 了解目前的存储技术趋势,以及对开发人员新的要求 存储选型的原则,避免日常的经典误区 结合典型数据库特点,说明如何进行存
阅读全文
系统容量现状checklist
摘要:架构师必备:系统容量现状checklist 正如飞机在起飞前,机长、副机长要过一遍checklist检查,确认没问题了才能起飞。楼主也整理了一个系统容量现状checklist,方便对照检查。本文搭配架构师必备:如何做容量预估和调优,食用更佳。作为架构师,不要觉得系统容量是运维工程师才关心的问题,而应
阅读全文
良好的API接口
摘要:如何设计一个良好的API接口? 挑战 API是软件系统的核心,而我们在设计API接口的时候会面临着非常多的挑战: 场景上来看,它是多样的,如何设计一个随处适用的API? 我们所参与的业务不断演进的,如何设计一个有兼容性的API? 我们的软件流程是协同开发的,那我们如何实现对API的统一认知? 今天我
阅读全文
AK(Access Key)业务网关之AK中心建设
摘要:啥是AK AK(Access Key)是一种身份证明,它解决了“资源的使用者是谁”这个问题,比如在生活中,身份证可以证明你是你,而在云计算或程序中,AK能证明你是这个应用的拥有者。 AK和密码的有啥区别呢,密码面对的主体是人,人可以使用密码登录系统证明身份;AK的主体是程序或服务,程序或服务可以使用
阅读全文
系统设计和算法短地址服务
摘要:如何设计一个短地址服务 原创不易,求分享、求一键三连 什么是短URL 把URL缩短,用于为长URL创建更短的别名,我们称这些缩短的别名为「短链接」 当用户点击这些短链接时,会被重定向到原始URL,短链接在显示、打印、发送消息或发推时可以节省大量空间;此外,用户也不太可能输入错误的短url。 例如,
阅读全文