系统 架构 设计师

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

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

[Linux Kernel 源码分析] 通过vconfig配置vlan的系统调用/驱动流程分析

By YuCloud (蓝天上的云℡ - 博客园 https://www.cnblogs.com/yucloud/) 转载请注明出处 vconfig源码分析 vlan/vconfig.c at master · Distrotech/vlan (github.com) https://github. ......
源码 流程 vconfig Kernel 系统

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

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

基于SqlSugar的开发框架循序渐进介绍(23)-- Winform端管理系统中平滑增加对Web API对接的需求

在前面随笔介绍的基于SqlSugar的WInform端管理系统中,数据提供者是直接访问数据库的方式,不过窗体界面调用数据接口获取数据的时候,我们传递的是标准的接口,因此可扩展性比较好。我曾经在随笔《基于SqlSugar的开发框架循序渐进介绍(5)-- 在服务层使用接口注入方式实现IOC控制反转》中介... ......

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

react 高效高质量搭建后台系统 系列 —— 请求数据

其他章节请看: react 高效高质量搭建后台系统 系列 请求数据 后续要做登录模块(主页),需要先和后端约定JSON数据格式,将 axios 进行封装,实现本地的数据模拟 mockjs。 Tip:spug 中后端返回 json 通常有 data 和 error两个 key。就像这样:{data: ......
高质量 后台 数据 系统 react

react 高效高质量搭建后台系统 系列 —— 脚手架搭建

其他章节请看: react 高效高质量搭建后台系统 系列 脚手架搭建 本篇主要创建新项目 myspug,以及准备好环境(例如:安装 spug 中用到的包、本地开发和部署、自定义配置 react-app-rewired、代理 http-proxy-middleware、babel),为后续搭建真正的框 ......
脚手架 高质量 后台 系统 react

react 高效高质量搭建后台系统 系列 —— antd和样式

其他章节请看: react 高效高质量搭建后台系统 系列 antd 后续要做登录模块(主页),不仅要解决请求数据的问题,还需要完成 antd 配置以及样式的准备。 antd 多种主题风格 详情请看 这里 spug 没有提供多种主题风格。 笔者还是决定稍作研究,万一公司需要呢。 步骤如下: 安装 le ......
高质量 样式 后台 系统 react

架构设计(九):估算

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

LFU 的设计与实现

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

分布式文件系统之FastDFS

目录结构: 一 分布式文件系统 二 FastDFS入门 三 FastDFS环境搭建 四 FastDFS在Java项目中开发示例 五 FastDFS分布式文件系统集群 一 分布式文件系统 分布式文件系统 (Distributed File System) 是一个软件/软件服务器,这个软件可以用来管理文 ......
分布式 FastDFS 文件 系统

MongoDB - 模式设计

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

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

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

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

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

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

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

【架构设计】保持简单轻量设计的三个原则——DRY,KISS, YAGNI

前言 一个软件轻量简单的软件架构是非常重要的,它可以让我们花最小的代价就能满足业务上的需求。那如何保证轻量简单呢?那今天就和大家分享下这其中的秘密,也就是3个重要的指导原则,KISS原则,YAGNI原则和DRY原则,你们都知道并且理解吗? 欢迎关注微信公众号「JAVA旭阳」交流和学习 KISS原则 ......
轻量 架构 原则 三个 YAGNI

【架构设计】如何让你的应用做到高内聚、低耦合?

前言 最近review公司的代码,发现代码耦合程度特别高,修改一处,不知不觉就把其他地方影响到了,这就让我思考该如何让我们写的代码足够内聚,减少耦合呢? "高内聚、松耦合"是一个非常重要的设计思想,能够有效地提高代码的可读性和可维护性,缩小功能改动导致的代码改动范围。它可以用来指导不同粒度代码的设计 ......
架构

模型驱动设计的构造块(下)——DDD

3. 领域对象的生命周期 每个对象都有生命周期,如下图所示。对象自创建后,可能会经历各种不同的状态,直至最终消亡——要么存档,要么删除。当然很多对象是简单的临时对象,仅通过调用构造函数来创建,用来做一些计算,然后由垃圾收集器回收。这类对象没必要搞得那么复杂。但有些对象具有更长的生命周期,其中一部分时 ......
模型 DDD

Triple 协议支持 Java 异常回传的设计与实现

作者:Apache Dubbo Contributor 陈景明 背景 在一些业务场景, 往往需要自定义异常来满足特定的业务, 主流用法是在catch里抛出异常, 例如: public void deal() { try{ //doSomething ... } catch(IGreeterExcep ......
Triple Java

Google分布式文件系统GFS论文学习

GFS作为最著名的分布式文件系统,首先具备了大规模、可扩展、适配大文件、自动运维等高级特性。虽然是比较早期的分布式文件系统,但是它里面的设计思想还是值得现代分布式系统设计参考的,并且还有很多后期著名的分布式文件系统就是根据 GFS 来的。 一、设计预期 在论文前面,列举了设计预期,也就是 GFS 是 ......
分布式 文件 Google 论文 系统

Dubbo架构设计与源码解析(二) 服务注册

作者:黄金 一、Dubbo简介 Dubbo是一款典型的高扩展、高性能、高可用的RPC微服务框架,用于解决微服务架构下的服务治理与通信问题。其核心模块包含 【RPC通信】 和 【服务治理】 ,其中服务治理又分为服务注册与发现、服务容错、负载均衡、流量调度等。今天将重点介绍Dubbo的服务注册与发现。 ......
架构 源码 Dubbo

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

目录 为什么我们用 Orleans Dapr VS Orleans Actor 模型 Orleans 的核心概念 结合 OP Storming 的实践 结合 OP Storming 的实践 业务模型 设计模型 代码实现 业务模型 我们可以把关键对象(职位、客户行为记录、线索)参考为 actor 猎头 ......
架构 分布式 Storming 笔记 Actor

RocketMQ Compaction Topic的设计与实现

Compaction Topic 是一种基于 key 的数据过期机制,即对于相同 key 的数据只保留最新值。该特性的应用场景主要为维护状态信息,或者在需要用到 KV 结构时,可以通过 Compaction Topic 将 key-value 信息直接保存到 MQ,从而解除对外部数据库的依赖。快来... ......
Compaction RocketMQ Topic

FPGA:乒乓球比赛模拟机的设计

简介 开发板:EGO1 开发环境:Windows10 + Xilinx Vivado 2020 数字逻辑大作业题目 7: 乒乓球比赛模拟机的设计 乒乓球比赛模拟机用发光二极管(LED)模拟乒乓球运动轨迹,是由甲乙双方参赛,加上裁判的三人游戏(也可以不用裁判)。 管脚约束代码: 点击查看代码 set_ ......
模拟机 乒乓球 FPGA