应用(Aplication)/ 系统(System)
为了完成一整套服务的一个程序或者一组相互配合的程序群。
模块(Moudle)/组件(Componet)
当应用比较复杂时,为了分离职责,将其中具有清晰职责的、内聚性比较强的,抽象出概念,便于理解。
分布式(Distributed)
系统中的多个模块被部署于不同服务器之上,即可以将该系统称为分布式系统。如 Web 服务器与数据库分别⼯作在不同的服务器上,或者多台 Web 服务器被分别部署在不同服务器上。
集群(Cluster)
被部署于多台服务器上的、为了实现特定目标的⼀个/组特定的组件,整个整体被称为集群。比如如多个 MySQL ⼯作在不同服务器上,共同提供数据库服务⽬标,可以被称为⼀组数据库集群。
主(Master)/从(Slave)
集群中通常有一个程序需要承担更多的责任被称为主,其他承担附属职责的被称为从。
中间件(Middleware)
⼀类提供不同应⽤程序⽤于相互通信的软件,即处于不同技术、⼯具和数据库之间的桥梁。生活例⼦类比:⼀家饭店开始时,会每天去市场挑选买菜,但随着饭店业务量变⼤,成⽴⼀个采购部,由采购部专职于采买业务,称为厨房和菜市场之间的桥梁。
可用性(Availability)
考察单位时间段内,系统可以正常提供服务的概率/期望。例如: 年化系统可⽤性 = 系统正常提供服务时长 / ⼀年总时⻓。
响应时长(Response Time RT)
指用户完成输入系统给出用户反应的时长。例如点外卖业务的响应时长 = 拿到外卖的时刻 - 完成点单的时刻。通常我们需要衡量的是最⻓响应时长、平均响应时⻓和中位数响应时长。
吞吐(Throughput) vs 并发(Concurrent)
吞吐考察单位时间段内,系统可以成功处理的请求的数量。并发指系统同⼀时刻⽀持的请求最高量。