分布式相关的一些简单概念

一、什么是分布式?

1、如何满足大型互联网系统的架构?

① 如何理解互联网项目

  • 传统项目:OA、CRM等系统内部员工系统,大多数为ToB的内部项目
  • 互联网项目:电商、聊天平台等,存在各类网民,大多数为ToC的外部项目

区别
在于用户群体,细化来说在于用户群体的类别和数量上的问题。互联网项目需要考虑用户的忍耐力。
互联网产品要考虑用户体验,主要分为交互体验、功能适配、响应速度以及应用的稳定性。

在分布式应用中,交互体验和功能适配与后端无关,后端需要着重思考速度和稳定性的问题。

  • 速度上的指标要在毫秒级完成,页面内跳转需要考虑半毫秒级别。(要在网速允许的环境下,能在如此的速度上反应)
  • 稳定性需要考虑应用的特点,例如是否存在:用户量大、流量大、并发高、海量数据、不安全性、功能繁琐、迭代速度等问题

② 如何满足构建目的

需要考虑衡量指标

  • 响应时间
  • 并发数
    -- 并发连接数:客户端向服务器发起请求,单位时间内能建立的TCP连接数量
    -- 请求数:请求数≥连接数(考虑单连接能否复用)
    -- 连接数:单位时间内,能建立多少用户连接
  • 吞吐量
    -- QPS:每秒的查询数量
    -- TPS: 每秒的事务数量
  • 高性能:提供高速的响应能力
  • 高可用:网站可一直正常访问
  • 可伸缩:通过硬件的伸缩控制性能
  • 可扩展:系统应用间耦合度低,可拆解
  • 安全性:保证能抵御一定的攻击
  • 敏捷性:可快速迭代

2、集群和分布式

  • 集群:一群人干一件事:一个业务模块部署在多个机器上
  • 分布式:不同人干不同的事:一个业务拆分成不同模块,部署在多个机器上

集群好比施工队中的一群指定职位的人,好比打砖群体、水泥匠等;分布式就相当于施工团队,有一群不同的人,干不一样的事情,但是都在进行盖楼。(一个模糊的比喻)

二、架构的演变

该处先不做过多的讨论,仅作为扼要的说明。

1、单机系统、集群系统、分布式系统

2、单体架构、垂直架构、分布式架构、SOA、微服务

从下篇开始,简单介绍一些分布式相关的后端技术,不会对技术内容做太多深入解析,争取到能了解和快速使用即可。而在介绍完一定的技术体系后,我们将针对一些分布式的发展和原理再进行的讨论。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容