架构到底是什么?

简介: 1、架构与框架的区别2、架构到底是什么?3、架构的目的是什么?

课程概览


1、架构与框架的区别


2、架构到底是什么?


3、架构的目的是什么?



1、架构与框架的区别


提到架构,大家常常会将架构(Architecture)和框架(Framework)混为一谈。

例如:


   1)开源系统(MySQL、Nginx)架构


   2)大公司架构实现(支付宝、微信)


那两者的区别是什么呢?


架构:架构本身不是软件,而是关于软件如何设计的策略。是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。


框架:面向特定领域的、可复用的“半成品”软件,它实现了该领域的共性基础部分,并提供了一些定义良好的可变点以保证灵活性和可扩展性。是领域内、特定语言和技术的架构应用解决方案。


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


框架是软件,目的是抽象通用化高效解决问题;架构是软件的抽象解决方案,目的是便于进行大局拆解与局部细化。

微信图片_20220607125715.jpg



架构与框架


2、架构是什么?


软件架构(Software Architecture)

有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计


                                                                        --来自维基百


系统是由一群关联个体的组成的,系统中的个体需要“根据某种规则”协作,架构需要明确这种协作规则。


架构=骨架、结构,来源于建筑学。前者揭示架构中内在的支撑物,后者则表明架构关心支撑物相互结合的某种构造方式。


为什么会出现架构设计?


主要可归纳为以下几个原因:


   1)业务需求多,而且易变


   2)软件系统越来越复杂


   3)参与的人越来越多


   4)跨项目共性/特殊性的问题越来越多


   5)技术发展日异月新


基于以上多种因素,导致系统维护成本越来越高:


   1)系统规模庞大、内部耦合严重,开发效率低;


   2)系统耦合严重,牵一发动全身,后续修改和扩展困难;


   3)系统逻辑复杂,容易出问题,出问题后很难排查和修复。


3、架构的目的是什么?


架构设计的目的是什么?


   为了解决软件系统复杂度带来的问题。


   其终极目标是:用最小的人力成本来满足构建和维护系统的需求


架构设计的好处有哪些?


   1)做到心中有数,而不是一头雾水(“新手”架构师)


   2)有的放矢,而不是贪大求全(“老鸟”架构师)


一些Case:


   “我们的系统一定要能够支撑到QPS 10w+...”


   “微信朋友圈的架构就是这么做的,我们也这样来吧...”


   “Docker现在很热,我们的架构应该将Docker引入进来...


总结


随着业务的发展,跨系统架构设计必将成为我们重要的解决难题,届时可能需要重新优化设计。我们期望一张很大的架构图,囊括所有的业务相关的设计,事实上如果不深入了解业务,架构图就是纸上谈兵。


架构的本质在于合理,合理表现为两个方面:


   1)提高效率:用更少的人力承接更多的工作


   2)降低预算:用更少的机器承接更多的任务

相关文章
|
8月前
|
Kubernetes API 调度
k8s 到底是什么,架构是怎么样的?
Kubernetes(k8s)是Google开源的容器集群管理系统,它通过YAML文件自动化应用部署、扩展和管理。k8s架构包含控制平面(API Server、Scheduler、Controller Manager和etcd)和工作节点(Node,含kubelet、Container runtime、Kube Proxy等)。控制平面负责调度和管理,Node执行任务。kubectl是命令行工具,用于与k8s交互。k8s通过Ingress暴露服务,并通过Pod作为最小调度单位管理容器。Docker通常与k8s结合使用,提供容器化应用,但二者并非同一概念。
273 4
k8s 到底是什么,架构是怎么样的?
|
存储 Kubernetes API
k8s 基本架构
k8s 基本架构
124 11
|
Kubernetes 容器
|
监控 关系型数据库 数据库
【架构的介绍】
【架构的介绍】
79 0
|
存储 负载均衡 NoSQL
12306 的架构也太 牛X 了吧!
每到节假日期间,一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票! 虽然现在大多数情况下都能订到票,但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用12306,还会考虑“智行”和其他的抢票软件,全国上下几亿人在这段时间都在抢票。
12306 的架构也太 牛X 了吧!
|
安全 架构师 数据库
架构应该如何来理解?
架构应该如何来理解?
|
存储 Kubernetes 负载均衡
k8s的架构
k8s的架构
1546 0
k8s的架构
|
开发者 微服务
架构思考
架构是一种权衡
IT架构服务
本文研究全球及中国市场IT架构服务现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势

热门文章

最新文章