1. 响应时间(Response Time):从第一次发出请求到收到系统完整响应数据数据所需时间。直接反映系统响应的快慢。
2. 吞吐量(Throughput):单位时间内系统所处理的用户请求数。直接反映系统的负载能力。
3. 每秒请求数(QPS):服务器在一秒内共处理了多少个请求,主要用于表示“读”请求。
4. 每秒事务数(TPS):即服务器每秒处理的事务数。(一个事务包括“客户机向服务器发送请求 + 服务器响应”的过程)
5. 访问量(PV):用户每对网站中的1个网页访问1次被记录1次
6. 独立访客(UV):访问某个站点或点击某个链接的不同IP地址数。(即在同一天内,UV只记录第一次进入网站的具有独立IP地址的访问者,在同一天内访问者再次访问该网站则不计数。)
单体系统即一个应用程序,所有的业务代码都在这一个应用程序中,所有的表也都在一个数据库中,所涉及的相关文件都在同一个服务器上。
单体系统面临的问题:
单体系统一般采用三层架构:
(1)用户展示层:负责用户端的展现和体验
(2)业务层:负责业务的所有逻辑操作
(3)数据访问层:负责操作数据库,如读写数据库等
单体分层架构的弊端:
分布式架构是指,将相同或者相关的应用放在多台计算机上运行,以达到分布式计算机的目的。(将一个系统拆分为多个独立的应用,然后它们相互协作,通过对方提供的API进行交互,组成一个整体,共同完成任务)
分布式架构局限性:
微服务是一种流行的架构设计风格:
微服务系统就是将复杂的单体系统中的模块按照某种规则进行拆分,这些被拆分出来的模块被独立部署在相对较小的服务器集群上。独立部署的模块彼此之间使用远程调用的方式来完成整个业务的处理。这些被独立部署的模块就是微服务,而这样的应用架构就是微服务架构。
微服务架构特征:
(1)通过服务实现组件化
(2)围绕业务能力来组织开发团队
(3)去中心化管理
(4)去中心化数据存储
(5)基础设施自动化
(6)充分考虑故障
微服务架构的问题:
(1)增加了复杂度
(2)服务间的通信会变得复杂
(3)在落地微服务时,微服务边界的划分增加了实现的复杂度
(4)保持数据一致性非常复杂
(5)对运维团队和开发团队都提出了更高的要求
(6)开发流程复杂
关于分布式架构和微服务架构之间的区别补充:
分布式系统架构和微服务系统架构都是为了解决复杂系统的问题而设计的,但它们有一些明显的区别。
1. 规模:分布式系统通常是一个大型系统,由多个独立的节点组成,这些节点可以是物理服务器或虚拟机。而微服务系统通常是一个更小规模的系统,由多个小型的、独立部署的服务组成。
2. 单一性:分布式系统通常是一个整体,所有的节点共享同一套代码和数据。而微服务系统是由多个独立的服务组成,每个服务都有自己的代码和数据。
3. 独立性:在分布式系统中,节点之间通常是相互依赖的,一个节点的故障可能会影响整个系统的运行。而在微服务系统中,每个服务都是独立的,一个服务的故障通常不会对其他服务产生影响。
4. 部署:分布式系统通常是一个整体部署的,所有的节点都在同一个环境中运行。而微服务系统可以根据需要独立部署,每个服务可以选择不同的部署方式和环境。
5. 通信:在分布式系统中,节点之间通常是通过直接的网络通信来进行数据交换。而在微服务系统中,服务之间通常是通过API调用来进行通信。(通信方式的选择更多取决于具体的设计和实现,而不是系统架构本身)
总的来说,分布式系统更注重整体的协作和一致性,而微服务系统更注重独立性和灵活性。