01overview

moveofgod moveofgod     2023-04-22     517

关键词:

随着然健系统规模的增加,计算相关的算法和数据结构不再构成主要的设计问题; 当系统由许多部分组成时,整个系统的组织,也就是所说的“软件架构”,导致了一系列的新的设计问题。

架构设计本身是为了解决软件的复杂度。

架构设计并不是要面面俱到,不需要每个架构都具备高性能,高可用,高扩展等特点,而是要识别出复杂点,然后又针对性的解决问题。

“业界A公司的架构是X, B公司的架构是Y, 两个差别比较大,该参考哪一个?”  答:理解每个架构方案背后所需要解决的复杂点,然后才能对比自己的业务复杂点,参考复杂点相似方案。而其中的关键点就是要明白什么会带来软件复杂度.

带来复杂度

为了高性能, 选择复杂的模型(比如多台计算机集群), 会提升软件复杂度.

 

"高可用" 系统无中断的执行其功能, 本质上都是通过"冗余" 来实现高可用.

可扩展性, 系统为了应对将来需求变化而提供的一种扩展能力, 当有新的需求出现时,系统不需要或仅需要少量修改就可以支持,无须整个系统重构或重建。为了应对变化实现可扩展:

  1) 系统需要拆分出变化层和稳定层

  2)需要设计变化层和稳定层之间的接口

comment: 安全,防火墙基本功能是隔离网络.通过将网络划分不同的区域,制定出不同区域之间的访问控制策略来控制不同信任程度的数据流.

技术图片

规模, 规模越大, 系统越复杂.

 

架构设计原则

合适原则, 不一定高新技术就一定好

  不是什么东西都要自己实现,多使用开源的成熟的组件

  资源问题,钱,人力,时间等等,没那么多人,却想干那么多活,是失败的主要原因

简单原则,架构越简单清晰越好, KISS原则。(keep it simple, stupid)

演化原则,系统是随着业务变化不断变化的, 架构师时刻提醒自己不要贪大求全,或者盲目照搬大公司的做法。而应该是认真分析当前业务特点,明确业务面临的主要问题,设计合理的架构而快速落地以满足业务需要,然后再运行中不断完善, 不断演化架构.

 

架构设计流程 

首先, 分析系统的复杂度.

其次, 按照当前成熟的流行的架构, 作出预选架构方案.

然后, 从 性能,复杂度,成本,可扩展,可用性 等角度环评每个方案(可考虑哪个方面优先级更高, 比如阿里不差钱, 那成本优先级可能低一些)

之后, 设计详细方案. 比如确定用 Nginx 做负载, 那么 Nginx 的主备怎么做。(到这步具体细节可以大家一起讨论)

 

docker镜像overview

Docker镜像overview文章目录​​Docker镜像overview​​​​1.什么是Docker镜像?​​​​2.Docker镜像demo​​​​3.Docker容器与Docker镜像​​​​4.Docker镜像剖析​​1.什么是Docker镜像?​​Docker​​​镜像是用于在Docker​​容器​​中执... 查看详情

cloudify—overview

目录文章目录目录CloudifyCloudify的核心概念CloudifyManager的架构CloudifyManagerVMProxyandFileServerWebGUIandRESTAPICloudifyManagerWorkflowWorkflowEngineTaskBrokerAgentsPluginsPolicyEngineDatabaseCloudifyCloudify是一个开源的 查看详情

textsql_overview(代码片段)

查看详情

oscplearningnotes-overview

Prerequisites:Knowledgeofscriptinglanguages(Bash/Pyhon)UnderstandingofbasicnetworkingconceptsUnderstandingofbasicLinuxsyntaxA"TryHarder"attitudeModules:IntroductiontoKaliLinuxInfromationGatheingScanni 查看详情

overview

课程概览其他人的概览2019-BUAA-Wander的概览2019-tongtao的概览2018-aptx1231的概览2018-wancong3的概览Pre-study能力要求Learningbasicsofthecircuit,theVerilogHDL,andtheMIPSassemblyLanguagefromFutureXiangin2018PrePre要求Pre目的是为了让大家熟悉上机 查看详情

copycat-overview

Copycat’sprimaryroleisasaframeworkforbuildinghighlyconsistent,fault-tolerantreplicatedstatemachines.Copycatserversreceivestatemachineoperationsfromclients,logandreplicatetheoperationsasnecessary,andap 查看详情

katacontainer—overview

目录文章目录目录传统容器的安全问题KataContainer软件架构轻量化虚拟机QEMUGuestKernelGuestimage(rootfs)RootfilesystemimageKataAgentKataContainersinKubernetes网络传统容器的安全问题传统容器的安全风险,具体包括:进程隔离。文件系统隔离。... 查看详情

katacontainer—overview

目录文章目录目录传统容器的安全问题KataContainer软件架构轻量化虚拟机QEMUGuestKernelGuestimage(rootfs)RootfilesystemimageKataAgentKataContainersinKubernetes网络传统容器的安全问题传统容器的安全风险,具体包括:进程隔离。文件系统隔离。... 查看详情

pythonmechanize_overview.py(代码片段)

查看详情

ipdk—overview

目录文章目录目录OPIIPDKInfrastructureApplicationInterfaceTargetAbstractionInterfaceIPDK应用场景IaaS网络虚拟化存储虚拟化主机虚拟化PaaSCSI&CNICalicoRunningonIPUEnvoyonIPUOPI2022年6月21日,Linux基金会宣布了新的OPI(OpenProgra 查看详情

opnfv—overview

目录文章目录目录OPNFVOPNFV的系统架构OPNFVOPNFV(OpenPlatformforNetworkFunctionsVirtualization,网络功能虚拟化开放平台)成立于2014年,专注于通过集成来自OpenDaylight、OpenStack、CephStorage、KVM、OpenvSwitch、DPDK、FD.io、Linux等上游项目来构建NFV... 查看详情

opnfv—overview

目录文章目录目录OPNFVOPNFV的系统架构OPNFVOPNFV(OpenPlatformforNetworkFunctionsVirtualization,网络功能虚拟化开放平台)成立于2014年,专注于通过集成来自OpenDaylight、OpenStack、CephStorage、KVM、OpenvSwitch、DPDK、FD.io、Linux等上游项目来构建NFV... 查看详情

服务设计之overview

简介服务管理的实践服务设计原则服务设计流程与服务设计技术有关的活动 服务设计的组织技术方面的考虑事项本文出自“运维自动化”博客,请务必保留此出处http://shower.blog.51cto.com/4926872/1879823 查看详情

jdk的模块化之overview(代码片段)

JDK的模块化一之Overview文章目录JDK的模块化一之Overview背景目标JDK引入模块化方案设计原则模块化源代码模块化运行时映像封装大多数内部apiJava平台模块系统jlink:TheJavaLinkerJAVA链接器JDK9文件夹结构变化JDK模块列表以及版本变化总... 查看详情

大数据与人工智能系列文章

目录文章目录目录隐私计算隐私计算《隐私计算—Overview》《隐私计算—安全多方计算—Overview》《隐私计算—联邦学习—Overview》《隐私计算—联邦学习—联邦迁移学习》《隐私计算—TEE—Overview》《隐私计算—区块链—Overview... 查看详情

workingwithmetal—overview

看完这个WWDC之后的总结。Metal可以在单位时间内提供10倍的drawcall调用。BackgroundAboutDrawCall每一次drawcall调用都必须有自己的状态向量,比如着色器、纹理等。而改变状态向量对CPU来说是比较耗时的,因此单位时间内drawcall的次数... 查看详情

ros从入门到精通系列(二十七)--rosparameterserver

1.官方教程链接:rospy/Overview/ParameterServer-ROSWiki2.推荐阅读roscpp&overview:roscpp/Overview/ParameterServer-ROSWikihttp://wiki.ros.org/roscpp/Overview/Parameter%20Serverroscpp/Overview-ROSWikihttp://wiki.ros.org/roscpp/Overview< 查看详情

onap—overview

目录文章目录目录ONAPONAP解决的问题ONAP的思路ONAP的基本原则ONAP的架构设计ONAP2017年2月,中国移动与AT&T联手推进LinuxFoundation旗下两大MANO工作组:OPEN-O与OpenECOMP的合并,成立了ONAP(OpenNetworkAutomationPlatform,开发网络自动化平台... 查看详情