做好架构需要具备哪些基础知识

前言

        最近在整理架构方面的知识体系,因为以前也没有系统性的学习和整理过,所以在网上搜索了很多相关的资料。对于IT专业人员来说,选择架构师作职业,前途无量,但想从为真正的架构师,需要具备什么样的架构知识体系?可能很多人没有进行过系统性的总结,下面从我了解到的架构知识体系,和大家概括性的分享一下。


一、什么是架构?

        架构是系统的骨架,支撑和连接各个部分,包括组件、链接件、约束规范,以及指导这些内容设计与演化的原理,架构的本质就是对系统进行有序化地重构以至符合当前业务的发展,并能够快速扩展,当系统需求相对复杂、非功能性需求在整个系统占据重要位置时,我们需要重点考虑作架构设计。

二、如何做好架构设计

        架构设计要做好,不是一件容易的事情,需要大量的经验积累,但是我们业界已经有了很多成熟的架构设计模式,我们不需要闭门造车,可以在理解清楚业务需求后,找到类似的架构设计,基于成熟的架构设计方案,进行改造,变成适合自己业务需求的架构。

第一步、分析需求

架构设计基本需求就是满足业务需求,搞清楚需求至关重要,产品需求,只有功能的描述,界面的交互,还需要进一步进行抽象。

一个常用的分析方法就是分析用例,了解角色和使用场景。

第二步、选择相似的成熟的架构设计方案

架构设计基本需求就是满足业务需求,搞清楚需求至关重要,产品需求,只有功能的描述,界面的交互,还需要进一步进行抽象。

比如业界流行的分层架构设计我们可以进行参考和选择

第三步、自顶向下构建架构

自顶向下构建架构要点如下:

1.首先定义问题,而定义问题中最重要的是定义客户的问题。定义问题,特别是识别出关键问题,关键问题是对客户有体感,能够解决客户痛点,通过一定的数据化来衡量识别出来,关键问题要优先给出解决方案。
2.问题定义务必加入时间维度,把手段/方案和问题定义区分开来。
3.问题定义中,需要对问题进行升层思考后再进行升维思考,从而真正抓到问题的本质,理清和挖掘清楚需求;要善用第一性原理思维进行
4.问题解决原则:先解决客户的问题(使命),然后才能解决自己的问题(愿景);务必记住不是强调我们怎么样,而是我们能为客户具体
解决什么问题,然后才是我们变成什么,从而怎么样去更好得服务客户。
5.善用多种方法对客户问题进行分析,转换成我们产品或者平台需要提供的能力,比如仓储系统 WMS 可以提供哪些商业能力。
6.对我们的现有的流程和能力模型进行梳理,找到需要提升的地方,升层思考和升维思考真正明确提升部分。
7.定义指标,并能够对指标进行拆解,然后进行数学建模。
8.将抽象出来的能力诉求转换成技术挑战,此步对于技术人员来说相当于找到了靶子,可以进行方案的设计了,需要结合自底向上的架构推导方式。
9.创新可以是业务创新,也可以是产品创新,也可以是技术创新,也可以是运营创新,升层思考、升维思考,使用第一性原理思维、生物学(进化论--进化=变异+选择+隔离、熵增定律、分形和涌现)思维等哲科思维可以帮助我们在业务,产品,技术上发现不同的创新可能。可以说哲科思维是架构师的灵魂思维。

第四步、验证和优化架构设计方案

在技术方案完成后,还需要去验证方案是不是满足设计的目标,能否满足需求和未来需求的变化,能否保障软件有效的运行。

方案的验证时贯穿整个设计始终的,一个完整的架构设计方案,需要有多次的评审会议,充分收集各方面的反馈,反复修改后才能最终确定下来。

在第二、三步,可能会生成几个技术方案,这时候就需要做出一些技术上的决策。决策时,需要考虑清楚方案是否能低成本的完成软件需求的开发,同时能低成本的运行和维护该软件。还有你要考虑架构预期要满足多长时间的业务增长,比如说半年还是一年还是三年。

在架构设计确定后,就可以基于架构设计的结果大家一起分工协作了。架构设计并不是确定后就不修改了,在实际开发的过程中,还需要根据情况对架构进行优化和调整。

三、做好架构需要具备的架构基础知识

1、架构演进

初始阶段,LAMP,部署在一台服务器

应用服务器和数据服务器分离

使用缓存改善性能

使用集群改善并发

数据库地读写分离

使用反向代理和cdn加速

使用分布式文件和分布式数据库

业务拆分

分布式服务

2、架构模式

分层:横向分层:应用层,服务层,数据层

分割:纵向分割:拆分功能和服务

分布式:分布式应用和服务、分布式静态资源、分布式数据和存储、分布式计算

集群:提高并发和可用性

缓存:优化系统性能、cdn、反向代理访问资源、本地缓存、分布式缓存

异步:降低系统的耦合性 、提供系统的可用性、加快响应速度

冗余:冷备和热备,保证系统的可用性

自动化:发布,测试,部署,监控,报警,失效转移,故障恢复

3、架构核心要素

高性能:网站的灵魂、性能测试、前端优化、应用优化、数据库优化

可用性:保证服务器不宕机,一般通过冗余部署备份服务器来完成、负载均衡、数据备份

、自动发布、灰度发布、监控报警

伸缩性:建集群,是否快速应对大规模增长的流量,容易添加新的机器、集群、负载均衡

、缓存负载均衡

可扩展性:主要关注功能需求,应对业务的扩展,快速响应业务的变化。是否做法开闭原则,系统耦合依赖、分布式消息、服务化

安全性:网站的各种攻击,各种漏洞是否堵住,架构是否可以做到限流作用,防止ddos攻击。xss攻击、sql注入、csr攻击、web防火墙漏洞、安全漏洞、ssl

4、架构设计

1、设计原则

冗余设计、回滚设计 、监控设计、故障隔离、可独立部署、无状态设计、成熟技术、异步设计、禁用设计、服务可降级、服务可限流、水平扩展。

2、接入层设计

  DNS轮询

  动静分离

  方向代理:LVS,NGINX、CDN

  接入层安全:DNS劫持、限流,防刷。

3、应用层设计

  通信机制:RPC,MQ

  异步

  连接池

  配置中心

4、应用层设计

  高可用数据库架构

  双主架构

  主从同步

  读写分离

  分表分库


总结

        本文的架构基础知识是我根据前期收集的资料进行整理输出,适合初入架构师的同学,如果觉得非常适合你,请在评论区发表你的感想哦,大家可以根据做好架构需要具备的架构基础知识根据自己要的情况选择性学习和实践。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 2020 年的 5G 基础知识点包括以下几个方面: 1. 5G 网络技术:5G 是第五代移动通信技术的简称,相比之前的 4G,5G 具有更高的数据传输速度、更低的延迟和更大的网络容量。它采用了更高频段的无线通信,如毫米波等,以满足日益增长的数据需求。 2. 关键技术:实现 5G 网络的关键技术包括 Massive MIMO(大规模多输入多输出)、波束赋型、中继技术、网络切片等。这些技术的应用使得 5G 网络能够同时支持大规模连接和高速数据传输。 3. 应用场景:5G 技术将广泛应用于各个领域,包括智能交通、智能制造、智慧城市、医疗保健、虚拟现实、无人机等。它将加速数字化转型,提升生产效率和用户体验。 4. 网络架构:5G 网络采用了虚拟化网络技术,将网络功能以软件的形式运行在云端,实现了网络的灵活性和可扩展性。同时,5G 网络还引入了边缘计算的概念,使得数据处理更加快速和安全。 5. 安全与隐私:随着 5G 网络的普及,网络安全和个人隐私保护变得尤为重要。5G 网络需要具备安全认证、用户身份验证、数据加密等技术,以保障网络的安全性和用户的隐私。 总之,掌握以上这些基础知识点,可以更好地理解和应用 5G 技术,为未来的数字化社会做好准备。 ### 回答2: 2020年的5G必会基础知识点包括以下几个方面: 第一,了解5G的基本概念和发展背景。5G是第五代移动通信技术的简称,它具有更高的数据传输速率、更低的延迟和更大的网络容量。了解5G技术的来源和发展历程,对于理解它的特点和优势非常重要。 第二,了解5G的关键技术和标准。5G的关键技术包括毫米波通信、多用户接入、网络切片、大规模天线阵列等。此外,了解5G的标准化组织和标准化进程,例如国际电信联盟(ITU)和第三代合作伙伴计划(3GPP)的工作,对于理解5G技术的发展和应用至关重要。 第三,了解5G的应用场景。5G技术将广泛应用于物联网、智能交通、智能制造、虚拟现实等领域。了解这些应用场景的需求和特点,对于掌握5G技术的应用具有重要意义。 第四,了解5G的商业模式和商业机会。5G的商业模式将由传统的通信服务向更多的垂直行业延伸,例如汽车、医疗、教育等。了解这些商业机会对于把握5G时代的发展趋势和投资方向非常重要。 第五,了解5G的安全和隐私保护。5G的广泛应用将带来更多的安全风险和隐私问题。了解5G网络和终端设备的安全技术和策略,以及相关的法律法规和标准,对于保障网络安全和隐私保护至关重要。 总之,掌握5G的基础知识,包括其概念、关键技术、应用场景、商业模式和安全性,对于适应和应用于5G时代具有重要作用。理解5G的发展趋势和商业机会,将对个人和企业的职业发展和竞争力产生积极的影响。 ### 回答3: 2020年的5G基础知识点主要包括以下几个方面。 首先,5G是第五代移动通信技术的简称。与前几代的移动通信技术相比,5G具有更高的速度和更低的延迟,将能够提供更好的通信服务和更丰富的应用体验。 其次,5G网络使用了更高的频段,包括毫米波(mmWave)频段和Sub-6GHz频段。毫米波频段具有更大的带宽和更高的速度,但传输距离相对较短;而Sub-6GHz频段的带宽较窄,但传输距离更远。 第三,5G采用的核心技术包括Massive MIMO、Beamforming和Beam Tracking。Massive MIMO是一种大规模多输入多输出技术,通过增加天线数量提高网络容量和覆盖范围;Beamforming则是一种波束赋形技术,能够将信号聚焦在特定的方向上,提高网络的传输效率;Beam Tracking是一种波束跟踪技术,能够根据用户位置实时调整波束的指向。 此外,5G还将支持更多的物联网设备连接,实现更广泛的智能化应用。物联网设备之间的连接将更加稳定和可靠,为智能家居、智能交通等领域的发展提供了更多的可能性。 最后,5G的商用化也将推动产业的发展。各种5G相关的技术、设备和应用将带来新的商机和就业机会。云游戏、智能医疗、智能工厂等领域也将得到快速发展。 总而言之,2020年的5G基础知识点包括其作为第五代移动通信技术的新一代标准、使用的多频段、核心技术以及对物联网和产业发展的影响等方面的内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值