架构 模型 设计师 能力

Crossplane - 比 Terraform 更先进的云基础架构管理平台?

👉️URL: https://crossplane.io/ 📝Description: 将云基础架构和服务组成自定义平台 API 简介 在 11 月的 KCD 上海现场,听了一场阿里云的工程师关于他们自己的多云基础架构管理工具的介绍,前边的引言部分有介绍到 Terraform,还有另一款竞品就是 ......
Crossplane 架构 Terraform 先进 基础

工作流引擎架构设计

原文链接: 工作流引擎架构设计 最近开发的安全管理平台新增了很多工单申请流程需求,比如加白申请,开通申请等等。最开始的两个需求,为了方便,也没多想,就直接开发了对应的业务代码。 但随着同类需求不断增多,感觉再这样写可要累死人,于是开始了工作流引擎的开发之路。查找了一些资料之后,开发了现阶段的工作流引 ......
工作流 架构 引擎

【架构设计】你真的理解软件设计中的SOLID原则吗?

前言 在软件架构设计领域,有一个大名鼎鼎的设计原则——SOLID原则,它是由由Robert C. Martin(也称为 Uncle Bob)提出的,指导我们写出可维护、可以测试、高扩展、高内聚、低耦合的代码。是不是很牛,但是你们都理解这个设计原则吗,如果理解不深入的话,更这我通过JAVA示例深入浅出 ......
架构 原则 SOLID 软件

你知道微服务架构中的“发件箱模式”吗

前言 微服务架构如今非常的流行,这个架构下可能经常会遇到“双写”的场景。双写是指您的应用程序需要在两个不同的系统中更改数据的情况,比如它需要将数据存储在数据库中并向消息队列发送事件。您需要保证这两个操作都会成功。如果两个操作之一失败,您的系统可能会变得不一致。那针对这样的情况有什么好的方法或者设计保 ......
架构 模式

ONNX模型分析与使用

ONNX 的本质只是一套开放的 ML 模型标准,模型文件存储的只是网络的拓扑结构和权重(其实每个深度学习框架最后保存的模型都是类似的),脱离开框架是没办法对模型直接进行 inference的。 ......
模型 ONNX

.NET 云原生架构师训练营(基于 OP Storming 和 Actor 的大型分布式架构三)--学习笔记

目录 为什么我们用 Orleans Dapr VS Orleans Actor 模型 Orleans 的核心概念 结合 OP Storming 的实践 结合 OP Storming 的实践 业务模型 设计模型 代码实现 代码实现 HelloOrleans.Host Orleans.Providers ......
架构 分布式 Storming 笔记 Actor

基于WebSocket的实时消息传递设计

概述 web管理系统中可以对业务数据执行新增和删除,现在需要当业务数据发生新增或删除操作后,尽可能实时的反应到WPF客户端上面。 web管理系统用VUE编写,后端服务为SpringBoot,WPF客户端基于.Netframework4.8编写。 整体架构 sequenceDiagram title: ......
实时 WebSocket 消息

微机原理与系统设计笔记1 | 绪论与数制表示

打算整理汇编语言与接口微机这方面的学习记录。 参考资料 西电《微机原理与系统设计》周佳社 西交《微机原理与接口技术》 课本《汇编语言与接口技术》王让定 小甲鱼《汇编语言》 1. 介绍 2022年春学习了MIPS视角下的计算机体系结构与组成原理,同年夏自学了操作系统(科普级别的了解),汇编语言是学习操 ......
绪论 微机 原理 笔记 系统

浅谈服务接口的高可用设计

作为一个后端研发人员,开发服务接口是我正常不过的工作了,这些接口不管是面向前端HTTP或者是供其他服务RPC远程调用的,都绕不开一个共同的话题就是“高可用”,接口开发往往看似简单,但保证高可用这块实现起来却不并没有想想的那么容易,接下来我们就看一下,一个高可用的接口是该考虑哪些内容,同时文中有不足的... ......
接口

OpenMP 原子指令设计与实现

在本篇文章当中主要是深入剖析了 OpenMP 当中各种原子指令的实现原理以及分析了他们对应的汇编程序,OpenMP 在处理 #pragma omp atomic 的时候如果能够使用原子指令完成需求那就直接使用原子指令,否则的话就使用 CAS cmpxchg 指令和 while 循环完成对应的需求。 ......
原子 指令 OpenMP

【C++ 数据结构:链表】二刷LeetCode707设计链表

【C++链表】 使用c++重新写一遍LeetCode707设计链表 目的是熟悉c++中链表的操作 知识点 C++链表节点的实现 在c++中,一般通过结构体来定义链表的节点,也需要写构造函数(使用初始化列表) 如: struct ListNode{ int val; ListNode* next; / ......
数据结构 LeetCode 结构 数据 707

nacos注册中心单节点ap架构源码解析

一、注册流程 单nacos节点流程图如下: 流程图可以知,Nacos注册流程包括客户端的服务注册、服务实例列表拉取、定时心跳任务;以及服务端的定时检查服务实例任务、服务实例更新推送5个功能。 服务注册:当客户端启动的时候会根据当前微服务的配置信息把微服务注册到nacos服务端。 服务实例列表拉取:当 ......
节点 架构 源码 nacos

MQ系列9:高可用架构分析

MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 MQ系列5:RocketMQ消息的发送模式 MQ系列6:消息的消费 MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障 1 ......
架构

道长的算法笔记:状态机模型之股票系列问题

(一) 股票系列问题 所谓的股票问题,是一个动态规划状态机模型的系列问题,这些题目来自于LeetCode社区,这些问题非常经典,能够帮助我们理解动态规划的本质,这些问题大多初看之下会令人感觉无从下手,但是一旦掌握相应的方法划分状态之后,很快即可举一反三的写出相应的代码。 股票系列问题合集 LC121 ......
道长 算法 模型 状态 笔记

Netty-架构设计及入门程序-3

一、原生 NIO 存在的问题 1、NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。2、需要具备其他的额外技能:要熟悉 Java 多线程编程,因为 NIO 编程涉及到 Reactor ......
架构 程序 Netty

Azure DevOps 的架构窥探

工作的缘故,接触 TFS (Team Foundation Server)挺多的,现在改名为 Azure DevOps,分为 可私有化部署版本 Azure DevOps Server,简称ADS,以及 SAAS 版本 Azure DevOps Services。未来因为微软收购了 github,据说 ......
架构 DevOps Azure

【深入浅出 Yarn 架构与实现】4-3 RM 管理 NodeManager

本篇继续对 RM 中管理 NodeManager 的部分进行深入的讲解。主要有三个部分:检查 NM 是否存活;管理 NM 的黑白名单;响应 NM RPC 请求。 ......
深入浅出 NodeManager 架构 Yarn RM

【深入浅出 Yarn 架构与实现】4-2 RM 管理 Application Master

本篇将对 RM 中管理 Application Master 的部分进行深入的讲解。 下面将会介绍 RM 与 AM 整体通信执行流程,并对 RM 中涉及的对应服务进行具体讲解。 为了更好的学习本篇知识,建议先熟悉以下知识点,不了解的部分可翻到前面对应的文章进行学习: ......
深入浅出 Application 架构 Master Yarn

一篇文章带你了解设计模式原理——UML图和软件设计原则

一篇文章带你了解设计模式原理——UML图和软件设计原则 我们在学习过程中可能并不会关心设计模式,但一旦牵扯到项目和面试,设计模式就成了我们的短板 这篇文章并不会讲到二十三种设计模式,但是会讲解设计模式的设计原则以及设计依据和最明显的图形表示 或许我们只有先去了解设计模式的来源才能真正理解设计模式吧 ......
设计模式 篇文章 原理 原则 模式

ArcObjects SDK 021 开发框架搭建-FrameWork包设计

1、框架引擎部分 引擎模块其实就是之前我们说的App-Command-Tool模块,通过这个模块,把系统的主干框架搭建起来。 其中大部分出现在菜单以及工具条上的按钮都会继承这个框架定义ICommand和ITool。整个系统也是通过整合一些列Comand和Tool的方式,把整个系统搭建出来,这点也可以 ......
ArcObjects FrameWork 框架 021 SDK

ArcObjects SDK 022 开发框架搭建-FrameWorkUI包设计

1、CommandUIs部分 这部分主要是定义承载Command和Tool的具体UI。如下图所示。 以CommandUI结尾的这几个类都是继承了Framework.Engine里面的ICommandUI接口,这样我们定义的Command和Tool就可以和这些UI绑定到一起了。 其中BarButton ......
FrameWorkUI ArcObjects 框架 022 SDK

深入理解 dbt 增量模型

想要实现数据增量写入数据库,可以选择 dbt 增量模型。通过 dbt 增量模型,我们只用专注于写日增 SQL,不用去关注于如何安全的实现增量写入。 dbt 增量模型解决了什么问题 原子性写入:任何情况下,增量写入只有一个程序在写入。 假设增量程序已经上线,线上增量程序在执行的同时,开发也在本地执行增 ......
增量 模型 dbt

终于弄明白了 RocketMQ 的存储模型

RocketMQ 优异的性能表现,必然绕不开其优秀的存储模型 。 这篇文章,笔者按照自己的理解 , 尝试分析 RocketMQ 的存储模型,希望对大家有所启发。 1 整体概览 首先温习下 RocketMQ 架构。 整体架构中包含四种角色 : Producer :消息发布的角色,Producer 通过 ......
RocketMQ 模型

架构设计(九):估算

架构设计(九):估算 作者:Grey 原文地址: 博客园:架构设计(九):估算 CSDN:架构设计(九):估算 估算在系统设计中非常重要,这决定了你的设计是否可以满足要求,要实现比较靠谱的估算,就需要对如下几个概念熟练掌握 第一个概念:二的幂 尽管在处理分布式系统时,数据量可能是巨大的,但计算都可以 ......
架构

LFU 的设计与实现

LFU 的设计与实现 作者:Grey 原文地址: 博客园:LFU 的设计与实现 CSDN:LFU 的设计与实现 题目描述 LFU(least frequently used)。即最不经常使用页置换算法。 题目链接:LeetCode 460. LFU Cache 主要思路 首先,定义一个辅助数据结构 ......
LFU

MongoDB - 模式设计

虽然说 MongoDB 是无模式的,但实际上模式设计在 MongoDB 中也非常重要。在实际开发中,大多数性能问题都可以追溯到糟糕的模式设计。 ......
MongoDB 模式

Redis网络模型究竟有多强

高效的网络模型是Redis实现高吞吐量的重要底层支撑,是“高性能”的重要原因,却不是“快”的直接理由。本文将从BIO开始介绍,经过NIO、多路复用,最终说回Redis的Reactor模型,力求详尽。 ......
模型 Redis 网络

设计模式实践---策略模式实现对大量计算公式的处理

业务流程: 1.用户根据需要选择的实验方案,每个实验方案对应一种计算公式,计算公式例如下面这种 2.将带有实验数据的PDF文件上传到特定位置,对PDF文件进行解析后将数据数据保存到数据库。 3.遍历所有方案,对每种方案使用特定的公式对数据库中的数据进行 重构前实现: 遍历方案,使用IF语句对使用的公 ......
模式 设计模式 对大 公式 策略

【架构设计】你的类足够“专一”吗

前言 软件设计SOLID原则中有一个最基础的原则就是单一职责原则,我想绝大部分的程序员都知道,而且都理解它的意思,甚至觉得很简单。但是往往“看懂”和“会用”是两回事,而“用好”更是难上加难。好比我们项目,一开始一直和大家强调类的单一职责,随着业务不断发展,不同的同事都往这个类“添砖加瓦”,最终导致一 ......
架构

【架构设计】你的应用该如何分层呢?

前言 最近review公司的代码,发现现在整个代码层级十分混乱,一个service类的长度甚至达到了5000多行。而且各种分层模型DTO、VO乱用, 最终出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。 我们在吸取了阿里巴巴的分层规范以及网上的一些经验后,重新梳理总结了 ......
架构