栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 架构设计

架构基础认识

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

架构基础认识

系统与子系统

一个系统的架构,只包括顶层这一个层级的架构,而不包括下属子系统层级的架构。所以微信架构,就是指微信系统这个层级的架构。当然,微信的子系统,比如支付系统,也有它自己的架构,同样只包括顶层。

模块与组件

业务--模块

技术--组件

框架与架构

框架关注的是“规范”,架构关注的是“结构”。

软件架构指软件系统的顶层(Rank)结构,它定义了系统由哪些角色(Role)组成,角色之间的关系(Relation)和运作规则(Rule)。

架构设计的目的

架构设计的主要目的是为了解决软件系统复杂度带来的问题。

高性能

软件系统中高性能带来的复杂度主要体现在两方面,一方面是单台计算机内部为了高性能带来的复杂度;另一方面是多台计算机集群为了高性能带来的复杂度。

单机

进程和线程

有了多线程后,操作系统调度的最小单位就变成了线程,而进程变成了操作系统分配资源的最小单位。

集群

任务分配

分配算法:轮询、权重、负载

存储系统、运算系统、缓存系统都可以按照任务分配的方式来搭建架构

任务拆解

简单的系统更加容易做到高性能

可以针对单个任务进行扩展

高可用

高性能增加机器目的在于“扩展”处理性能;高可用增加机器目的在于“冗余”处理单元。

CAP理论

一致性、可用性、分区容错性

决策方式

独裁式

协商式

主备决策

民主式

民主式决策指的是多个独立的个体通过投票的方式来进行状态决策。

可扩展性

方案一

提炼出变化层和稳定层

方案二

提炼出抽象层和实现层

核心思想是封装变化

复杂度来源

低成本、安全、规模

低成本

nosql数据库、全文搜索引擎、hadoop(解决传统文件系统无法对海量数据存储和计算的问题)

安全

功能安全

常见的 XSS 攻击、CSRF 攻击、SQL 注入、Windows 漏洞、密码破解等

架构安全

互联网系统的架构安全目前并没有太好的设计手段来实现,更多地是依靠运营商或者云服务商强大的带宽和流量清洗的能力,较少自己来设计和实现。

规模

规模带来复杂度的主要原因就是“量变引起质变”,当数量超过一定的阈值后,复杂度会发生质的变化。

架构设计的三个原则

合适优于业界领先、简单优于复杂、演化优于一步到位

合适原则

简单原则

结构的复杂性

逻辑的复杂性

演化原则

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/907326.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号