架构|青训营

68 阅读3分钟

架构

1、什么是架构? 有关软件整体结构与组建的抽象描述,用于指导软件系统的各方面设计

2、单机:把所有功能实现在一个进程里,并部署在一台机器上。但是运维需要停服。

3、架构分类:单体、垂直应用架构、SOA、微服务 单体:分布式部署,有点水平扩容,运维不需要停服。缺点:开发效率不高,爆炸半径大。 垂直应用架构:按照应用垂直切分 SOA:将应用的不同功能单元抽象为服务、定义服务之间的通信标准 微服务架构:SOA的去中心化演进方向

4、云计算 网络上通过虚拟化技术来提供计算资源和服务的一种模式。通过互联网访问和共享计算机系统和数据存储,而不需要用户拥有实际的物理资源。 三种主要的服务模式:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。

5、云原生 云原生应用程序被设计成可以在容器中运行,利用容器技术实现应用程序的解耦、弹性和可移植性。它还借助于自动化和编排工具来管理应用程序的部署、扩展和更新。同时,云原生应用程序还采用微服务架构,将应用程序拆分为一组小型、独立的服务,使得它们可以独立开发、部署和扩展。

(1)弹性资源:基于虚拟化容器以及灵活的编排调度机制,可以为云服务提供快速的扩缩容能力,而且极大程度的提高了物理资源的利用率。 (2)微服务架构:依托于功能单元结构,使得云服务具备快速迭代的可能。增大组件之间交互的可能性。 (3)服务网络:业务逻辑与网络通信治理解开。 (4)DevOps:设计、开发、测试、交付、开发、测试、交付流程的自动化。

6、微服务架构:将复杂的应用程序拆分为更小、更易于维护和扩展的部分,每个部分都是一个独立的服务。每个服务都可以使用不同的技术栈和数据库,可以独立进行开发、部署和扩展。团队可专注于各自负责的服务,并独立地进行迭代和更新,提高开发效率和灵活性。 通信标准:http、RPC 微服务中间件http&RPC

7、扩缩容依据什么指标? 在进行扩容和缩容操作时,可以根据多种指标来评估和决策。以下是一些常见的指标:

  1. CPU利用率:监测每个服务的CPU使用情况,并在超过一定阈值时进行扩容,以确保服务能够处理更多的请求。
  2. 内存利用率:检查每个服务的内存使用情况,并在内存达到限制或超过一定阈值时进行扩容,以防止内存不足导致性能下降或应用程序崩溃。
  3. 网络流量:监控每个服务的网络流量,并当流量持续增加时进行扩容,以保证应用程序能够处理足够的请求和数据传输。
  4. 请求响应时间:监控每个服务的请求响应时间,并在响应时间超过预设阈值时进行扩容,以提高服务的响应速度和用户体验。
  5. 队列长度:对于队列型的服务,可以监测队列中待处理的任务数量,并在队列长度超过一定阈值时进行扩容,以加快任务处理速度。
  6. 自定义指标:根据具体业务需求,可以定义和监测特定的指标,如数据库连接池使用率、消息队列积压情况等。