首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏喔家ArchiSelf

    全栈必备:系统架构设计的10个思维实验

    软件系统架构设计经验很难获得。即便工作多年,能够完成系统架构设计的机会也很有限。如何提高自己的系统架构设计能力呢?不断实践当然不可或缺,思维实验或许也是一种有效的方式。 只有了解系统架构设计的复杂性,才可能做出明智的决定。 本文初步列举了在系统架构设计中的10个常见知识点,并使用思维实验的方式尝试系统设计。这样的刻意练习或许可以起到一定的辅助效果。 1. 设计文件系统架构:使用基于所需的可伸缩性和容错性的主从架构或P2P架构。 处理文件分区:实现数据分区技术,例如一致哈希或范围分区,以便跨多个节点分发文件。 因此,在大规模或复杂的系统中,例如微服务架构、分布式计算环境或集群数据库中的服务,分布式协调服务的重要性与日俱增。 一句话小结 “刻意练习”,本文介绍了10系统架构设计的思维实验,包括分布式文件系统、服务协调控制、API网关、分布式消息系统和全文检索等。

    55950编辑于 2023-09-02
  • 来自专栏用户2442861的专栏

    架构设计:系统间通信(10)——RPC的基本概念

    传输层还需要统一RPC客户端和RPC服务端所使用的IO模型;常用的IO模型在之前已经详细讲解过了(可参见我之前的博文《架构设计:系统间通信(3)——IO通信模型和JAVA实践 上篇》) Selector /Processor:存在于RPC服务端,由于服务器端某一个RPC接口的实现的特性(它并不知道自己是一个将要被RPC提供给第三方系统调用的服务)。 如果您的业务需求中并不存在跨语言的考虑,并且基本上主要系统都是用JAVA实现,那么RMI绝对是您一个可以考虑的方案。 除了集成RPC的规范外,Dubbo还在RPC的上层搭建服务层功能、配置层功能、服务路由功能(加上真正的RPC规范实现总共有10层)。在后文讲解“服务治理”时会重点讲解Dubbo的原理和使用。 然后我们谈谈在大型系统中,针对众多RPC服务这种情况,如何有效的对RPC服务进行管理。我们首先谈谈解决思路,然后试着自己解决一下这个问题。

    11.9K149发布于 2018-09-20
  • 来自专栏阿杜的世界

    10个常见软件架构

    原文参见:10 Common Software Architectural Patterns in a nutshell 在开始一个大型项目之前,我们需要进行详细的系统分析,尽量选择合适的架构,这样方便我们快速交付和后期维护升级 ,这篇文章总结了10种常见的架构模式。 在阅读这篇文章的时候,我想到了之前读过的一本书——《企业应用架构模式》,这本书偏理论,但是对理解大型系统的构建很有帮助。 架构模式的定义:架构模式是在给定的场景下,前人总结出来的通用的、可重复利用的解决方案。架构模式和设计模式的作用类似,但是它针对的范围更加广泛。 操作系统系统软件屏蔽掉了硬件的细节、系统软件为应用软件屏蔽掉了操作系统的细节;我们在开发的J2EE应用也是典型的分层架构,常见的层次有:表现层(UI layer)、应用层(service layer)

    1.4K30发布于 2018-12-14
  • 来自专栏AI系统

    【AI系统】推理系统架构

    推理系统架构是 AI 领域中的一个关键组成部分,它负责将训练好的模型应用于实际问题,从而实现智能决策和自动化。 在本文中,我们将主要以 NVIDIA Triton Inference Server 为基础深入探讨推理系统架构的各个方面。 本文将以 Triton 为例,介绍推理系统架构和实现原理。Triton 接入层Triton 通过提供多种接入方式,支持不同场景下的模型推理需求。Ⅰ. HTTP/REST 协议支持HTTP/REST 是一种广泛使用的网络通信协议,它基于 HTTP 协议,使用 RESTful 架构风格。 资源高效利用:多后端架构使得 Triton 能够根据模型特性和硬件资源情况智能选择最合适的推理引擎。

    1.6K10编辑于 2024-12-02
  • 来自专栏ADAS性能优化

    Android 系统架构

    Big picture GFX 架构 Video playback Drm video Camera Audio APP vs windows Binder Message Normal Unix tasks ○SCHED_BATCH: Batch (non-interactive) tasks ○ SCHED_IDLE: Low prioritytasks EAS 中断系统

    76620编辑于 2022-05-13
  • 来自专栏知识图谱

    JanusGraph系统架构

    JanusGraph的模块化架构使其能够与各种存储,索引和客户端技术进行互操作; 这也使得JanusGraph升级对应的组件过程变得更加简单。 JanusGraph标配以下适配器,但JanusGraph的模块化架构支持第三方适配器。 高层JanusGraph架构和上下文

    1.7K10发布于 2018-11-24
  • 来自专栏云计算linux

    Hbase系统架构

    3.1 系统架构 HBase 系统遵循 Master/Salve 架构,由三种不同类型的组件组成: Zookeeper 保证任何时候,集群中只有一个 Master; 存贮所有 Region 的寻址入口;

    37010编辑于 2024-12-19
  • 来自专栏微服务

    支付系统架构

    大部分公司,只要想赚钱,就得上支付系统,让用户或者客户有地方交钱。 当然,公司发展的不同阶段,对支付系统的定位和架构也不同。 电商系统,指提供在线购物服务的系统。用户在这个系统中完成交易。 支付系统,可以是电商系统的一个模块,或者是个独立的系统。这是本文的主角,用来完成支付过程。 用户,在电商系统中败家的那位。 如何避免攻击者修改支付接口参数, 比如100块钱的东西,改成10块钱? 调用收单接口来执行最终实际支付时,如果支付失败了,比如卡上没钱了,怎么办? 支付的典型架构 所以支付的坑还不少,我们先看看互联网的头牌们是如何设计支付系统的? 先看看某团的: ? 再看某Q旅游公司的的: ? 对比下某东金融的: ? 最后看看业界最强的某金服金融的: ? 这其实也是普通互联网应用系统架构,没有什么特别之处。比如微服务如何体现,如何满足性能需求等,在这个视图中无法体现出来。

    2.4K12发布于 2018-08-01
  • 来自专栏program

    Android 系统架构

    首语 由于工作内容的转变,使得我向Android系统方向转变,对于一个Android系统工程师,了解Android整个系统架构是必然的。 推荐Android系统干货博主:Gityuan 系统架构 Android系统架构分为五层。从上往下依次是应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层。 Android 3.2 Honeycomb 13 Android 3.1 Honeycomb 12 Android 3.0 Honeycomb 11 Android 2.3.3 Gingerbread 10 应用程序包 out 编译代码输出目录,可自定义 pdk Plug Development Kit,本地开发套件 platform_testing 平台测试 prebuilts X86和ARM架构下预编译的一些资源 AOSP 系统架构

    1.5K61编辑于 2023-11-06
  • 来自专栏个人分享

    Hadoop系统架构

    一、Hadoop系统架构图 ? Hadoop1.0与hadoop2.0架构对比图 ? YARN架构: ResourceManager –处理客户端请求 –启动/监控ApplicationMaster –监控NodeManager –资源分配与调度 NodeManager –单个节点上的资源管理

    2.1K30发布于 2018-09-06
  • 来自专栏Android 进阶

    Android 系统架构

    Android 系统架构分为五层 从上到下依次为应用层、应用框架层、系统运行库层、硬件抽象层与Linux内核层。 应用层 应用层:系统内置的应用程序与非系统的应用程序,负责与用户的直接交互。 系统运行库 C/C++ 程序库,被Android中不同的组件使用,并通过应用程序为开发者提供服务 Android 运行库及Android 运行环境 ,运行时库又被非为核心库与ART虚拟机, ART 系统在安装应用时会进行一次预编译 Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。 硬件抽象层 位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化,保证硬件厂商的知识产权,隐藏特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台进行移植。 系统安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖与该内核。

    1.2K10发布于 2019-12-26
  • 来自专栏Java后端开发博客

    HBase系统架构

    # HBase系统架构 客户端 ZooKeeper HMaster RegionServer Hbase相关概念 逻辑模型 物理模型 实际存储方式 HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库 HBase的系统架构包括客户端、Zookeeper服务器、HMaster服务器、和RegionServer服务器这些组件。 # 客户端 HBase系统的入口 客户端是任务的发起者;它是整个储与管理HBase系统的入口,使用者直接通过客户 端来操作Hbase。 系统容错:每个RegionServer在加入集群时都需要到Zookeeper中进行注册,创 建一个状态节点,Zookeeper会实时监控每个RegionServer的状态。

    1.4K30编辑于 2022-12-25
  • 来自专栏全栈程序员必看

    业务架构浅谈_业务架构系统架构

    一、序章   一般的工程师接触到的是 应用架构 ,传统的MVC分层架构、事件驱动架构、微内核等等。第一次接触业务架构这个概念是在来到商品发布团队之后。 商品发布是一个业务属性很重的系统,承载了诸多业务(业务多的围起来可以绕地球一圈)的商品发布功能。 四、如何做到灵活易接入的中台化产品   仅仅达到业务代码解耦并不够,商品发布系统要做一个中台化的产品。 使用微内核设计,对系统进行升级,只要用新模块替换旧模块,不需要改变整个操作系统。 微内核技术源于操作系统,但是在互联网产品“平台化”的大浪潮之下,这个技术得到了广泛的应用。    系统启动时,程序扫描出所有实现了SPI接口的插件,并集成到系统中对外提供服务。当新业务需要接入时,定义好一个业务身份,同时实现需要的SPI接口,即可完成业务的接入,同时做到业务的隔离。

    1.4K41编辑于 2022-11-07
  • 来自专栏迁移内容

    Ambari系统架构

    一、Ambari系统架构 Ambari框架采用的是Server/Client的模式,主要由两部分组成:ambari-agent和ambari-server。 二、Ambari-agent内部架构 Ambari-agent是一个无状态的,其功能分两部分: 采集所在节点的信息并且汇总发送心跳发送汇报给ambari-server。 三、Ambari-server内部架构 三种状态: Live Cluster State:集群现有状态,各个节点汇报上来的状态信息会更改该状态; Desired State:用户希望该节点所处状态,是用户在页面进行了一系列的操作 四、Ambari-web内部架构 Ambari-web使用了一个流行的前端Embar.js MVC框架实现,Embar.js是一个TodoMVC框架,它涵盖了现今典型的单页面应用(single page (5)、并通过控制台和系统提示通知你错误。

    2.3K10编辑于 2022-12-01
  • 来自专栏Java技术进阶

    系统架构】-如何评估软件架构

    结构重组、可移植性)、功能性、可变性、互操作性 评估方法 基于调查问卷(检查表)的方式 基于度量的方式 基于场景的方式 几种方式的比较 评估方式 调查问卷 检查表 场景 度量 通用性 通用 特定领域 特定系统 ,它充分利用系统相关人员的经验和知识,获得对架构的评估,其缺点是很大程度上依赖于评估人员的主观推断。 基于度量 该方式建立在软件架构度量的基础上,首先要建立质量属性和度量之间的映射原则,即确定怎么样从度量结果推出系统具有什么样的质量属性;然后从软件架构文档中获取度量信息;最后根据映射原则分析推到出系统的质量属性 基于场景 该方式由SEI首先提出并应用在架构权衡分析法(ATAM)和软件架构分析法(SAAM)中,它是通过分析软件架构对场景(也就是对系统的使用或修改活动)的支持程度,从而判断该架构对这一场景所代表的质量需求的满足程度 架构权衡分析法-ATAM ATAM在SAAM的基础上发展起来,主要针对性能、实用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中。

    1.5K30编辑于 2022-12-02
  • 来自专栏养码场

    对话互金行业10年技术人,解密小贷系统的业务逻辑和系统架构

    码农、程序员、工程师…… 技术人的代号很多,但都离不开代码和系统。就像每逢佳节必有bug,加班必定伴着改需求…… ? 但场主相信,不管是码农还是工程师,进阶终极目标一定是CTO! 4、小贷系统的业务逻辑和架构是什么? …… 4月26日20:00 ~ 21:00,场主特别邀请佐力小贷CTO余勇飞进行线上课程分享:互联网金融行业小额贷款的系统架构 他是谁: 余勇飞,佐力小贷CTO,80后程序猿,一个深耕互联网金融行业十年之久的技术人 曾先后任职于新利集团、恒生电子、人人行科技(借贷宝),有丰富的产品规划、架构设计和团队管理经验。 在这一小时里,你将获悉的是: 1、互联网金融小额贷款的系统架构分享 2、如何搭建互联网金融行业技术团队 3、CTO的修炼史

    78840发布于 2018-08-10
  • 来自专栏【程序员Aion】带你去考证

    系统架构设计师|关于系统架构(上)

    前言从本篇开始,梳理关于软考的「系统架构设计师」的文章,如果不对,还望指出。1.1 系统架构系统架构系统的一种整体的高层次的结构表示,是系统的骨架和根基,其决定了系统的健壮性和生命周期的长短。 通俗地说,【系统架构系统架构 (System Architecture)是系统的一种整体的高层次的结构表示,是系统的骨架和根基,支撑和链接各个部分,包括组件、连接件、约束规范以及指导这些内容设计与演化的原理 系统架构设计的目的是对需要开发的系统进行一系列相关的抽象,用于指导系统各个方面的设计与实现,架构设计在系统开发过程中起着关键性作用,架构设计的优劣决定了系统的健壮性和生命周期的长短。 1.2 软件架构定义【软件架构】软件架构(也可称为体系结构)是用来刻画软件系统整体抽象结构的一种手段,软件架构设计也是软件系统开发过程中的一个重要环节。 并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格和性质。研究结构模型的核心是架构描述语言。

    1.7K31编辑于 2024-08-19
  • 来自专栏禅境花园

    Windows 10系统

    我准备搞一下虚拟机,当然不是指 VirtualBox 和 VMware Workstation, 嗯, 是的 win10 自带的子系统。 介绍 适用于 Windows 的 Linux 子系统(英语:Windows Subsystem for Linux,简称 WSL)是一个为在 Windows 10 和 Windows Server 2019 准备工作 确保当前系统版本号高于 1607(Build 14393.10)。 1、安装前要修改一些系统设置,首先在开始菜单中选择 设置 -> 更新与安全 -> 开发者选项,选择第三项 开发人员模式。 2、在 控制面板 中 程序和功能 打开 启用或关闭 Windows功能 , 勾选 适用于 Linux 的 Windows 子系统,点击确定,等待系统配置完后重新启动电脑。

    2.9K30编辑于 2022-10-25
  • 转载:【AI系统】推理系统架构

    推理系统架构是 AI 领域中的一个关键组成部分,它负责将训练好的模型应用于实际问题,从而实现智能决策和自动化。 在本文中,我们将主要以 NVIDIA Triton Inference Server 为基础深入探讨推理系统架构的各个方面。 本文将以 Triton 为例,介绍推理系统架构和实现原理。 Triton 接入层 Triton 通过提供多种接入方式,支持不同场景下的模型推理需求。 Ⅰ. HTTP/REST 协议支持 HTTP/REST 是一种广泛使用的网络通信协议,它基于 HTTP 协议,使用 RESTful 架构风格。 资源高效利用:多后端架构使得 Triton 能够根据模型特性和硬件资源情况智能选择最合适的推理引擎。

    1.4K11编辑于 2024-12-12
  • 来自专栏超级架构师

    「软件架构10种常见的软件架构模式

    有没有想过企业规模的系统是如何设计的?在主要的软件开发开始之前,我们必须选择一个合适的架构,为我们提供所需的功能和质量属性。因此,在将它们应用于我们的设计之前,我们应该了解不同的体系结构。 ? 什么是架构模式? 根据维基百科, 架构模式是一种通用的、可重用的解决方案,用于解决给定上下文中软件架构中常见的问题。架构模式类似于软件设计模式,但范围更广。 在本文中,我将简要解释以下10种常见的体系结构模式及其用法、优缺点。 连接到计算机系统中总线的外围设备(主驱动器和从驱动器)。 ? 4. 管道过滤方式 此模式可用于构造生成和处理数据流的系统。每个处理步骤都包含在过滤器组件中。要处理的数据通过管道传递。 架构模式比较 下表总结了每种架构模式的优缺点。 ?

    1.7K11发布于 2020-05-14
领券