目录
分布式系统中的相关概念
大型互联网项目架构目标
传统的项目(员工使用)与互联网项目(广大的网名)
-
用户体验:
- 美观、功能、速度、稳定性
- 衡量一个网站速度是否快
- 打开一个新页面一瞬间完成
- 页面内跳转,一刹那间完成
根据佛经《僧祇律》记载:一刹那者为一念,二十念为一瞬,二十瞬为一弹指,二十弹指为一罗预,二十罗预为一须臾,一日一夜有三十须臾。 经过周密的计算,一瞬间为0.36 秒,一刹那有 0.018 秒
-
互联网项目特点:
- 用户多 流量大
- 并发高 海量数据
- 易受攻击
- 功能繁琐
- 变更快
-
高性能:提供快速的访问体验。
衡量网站的性能指标:
响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间。
并发数:指系统同时能处理的请求数量。
并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接每秒钟服务器连接的总TCP数量(我与服务器建一个连接,我请求域名刷新网站有很多请求css、图片等都是一次单独的请求请求数可能只有一个状态为200的那个)
请求数:也称为QPS(Query Per Second) 指每秒多少请求.
并发用户数:单位时间内有多少用户
吞吐量:指单位时间内系统能处理的请求数量。
QPS:Query Per Second 每秒查询数。
TPS:Transactions Per Second 每秒事务数。
一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程,点击刷新一个网站页面到刷新完成的整个过程就是一个事务。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
一个页面的一次访问,只会形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,就会有多个QPS
QPS>并发连接数>TPS
高性能:提供快速的访问体验。
高可用:网站服务一直可以正常访问。用集群
可伸缩:通过硬件增加/减少,提高/降低处理能力。
高可扩展:系统间耦合低,方便的通过新增/移除方式,增加/减少新的功能/模块。
安全性:提供网站安全访问和数据加密,安全存储等策略。
敏捷性:随需应变,快速响应。
集群和分布式的概念
什么是集群?
就是将相同的程序、功能部署在两台或是多台服务器上,这些服务器对外提供的功能是完全一样的,集群就是通过不同横向扩展增加服务器的方式,以提高服务的能力。
什么是分布式?
就是将两个或多个程序、功能分别运行在两台或多台主机服务器上,这些服务对外提供的功能并不一样,它们通过相互协作最终完成某一服务或是功能。
简单来讲:如果两台服务器部署的程序完全一样则是集群,不一样就是分布式;分布式中的每一个节点都可以做成集群,而集群并不一定就是分布式。
集群:很多“人”一起 ,干一样的事。
分布式:很多“人”一起,干不一样的事。这些不一样的事,合起来是一件大事。
优点:
可伸缩:是那个模块的性能有点慢,我们可以在这个模块单独的加个机器(洗菜很慢两个人不太够用又加了一个人集群就很快)
高扩展:科技在发展可以用机器人来进行切菜即那个模块不行了,就下掉那个模块换上新的模块
集群:很多“人”一起 ,干一样的事。
一个业务模块,部署在多台服务器上,让多台服务器一起进行业务模块的操作。
分布式:很多“人”一起,干不一样的事。这些不一样的事,合起来是一件大事。
一个大的业务系统,拆分为小的业务模块,分别部署在不同的机器上,让不同的机器分别对各个小的功能操作。