HMdubbo1【分布式系统中的相关概念】
1 大型互联网项目架构目标
1.1 传统项目与互联网项目
1.2 互联网项目特点
-
用户多
-
流量大,并发高
-
海量数据
-
易受攻击
-
功能繁琐
-
变更快
1.3 衡量网站的性能指标
-
响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间。
-
并发数:指系统同时能处理的请求数量。
- 并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量
- 请求数:也称为QPS(Query Per Second) 指每秒多少请求.
- 并发用户数:单位时间内有多少用户
-
吞吐量:指单位时间内系统能处理的请求数量。
- QPS:Query Per Second 每秒查询数。
- TPS:Transactions Per Second 每秒事务数。
- 一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。(此事务非彼事务,不是开发中的Transaction)
- 一个页面的一次访问,只会形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,就会有多个QPS
1.4 架构目标
-
高性能:提供快速的访问体验。
-
高可用:网站服务一直可以正常访问。
-
可伸缩:通过硬件增加/减少,提高/降低处理能力。
-
高可扩展:系统间耦合低,方便的通过新增/移除方式,增加/减少新的功能/模块。
-
安全性:提供网站安全访问和数据加密,安全存储等策略。
-
敏捷性:随需应变,快速响应。
2 集群与分布式
2.1 概念
-
集群:很多“人”一起 ,干一样的事。
- 一个业务模块,部署在多台服务器上。
-
分布式:很多“人”一起,干不一样的事。这些不一样的事,合起来是一件大事。
- 一个大的业务系统,拆分为小的业务模块,分别部署在不同的机器上。
2.2 互联网系统/分布式系统的四个要求/特点
-
高性能
-
高可用
-
可伸缩
-
高可扩展
2.3 实际项目中
- 单机架构
- 集群架构
- 分布式架构
3 架构演进
Dubbo 是 SOA时代的产物,SpringCloud 是微服务时代的产物