分布式系统相关概念

一.大型互联网项目架构目标

1.传统项目与互联网项目对比

I.传统项目面向某特定受众群体,用户少,如何某某公司员工请假项目OA

II.互联网项目面向群体网民,如微信,天猫,淘宝

用户多,流量大,并发高,易受攻击,功能繁琐等

2.高性能

指标如下

1.响应时间:执行并处理请求的速度

2.并发数:系统能同时处理的请求数量

        并发连接数:客户端向服务器发请求,并建立TCP连接.每秒钟服务器连接总TCP数量

        连接数:每秒有多少次请求

        并发用户数:单位时间内用户数

3.吞吐量:指单位时间内有多少用户

        QPS:每秒查询数

        TPS:每秒事务数

                一个事务指一个完整的点击,包含多个请求资源加载

3.高可用

        网站服务一直可以正常访问

4.高伸缩

        通过硬件增加/减少,提高/降低处理能力

5.高可扩展

        系统间耦合度低,方便移除或新增模块

6.安全性

        提供网站安全访问和数据加密.安全存储等策略

7.敏捷性

        随需应变,快速响应

二.集群与分布式

1.集群

一个业务模块,部署在多台服务器上

主要的使用场景是为了分担请求的压力,也就是在几个服务器上部署相同的应用程序,来分担客户端请求

通过提高单位时间内执行的任务数来提升效率

2.分布式

一个大的业务系统,拆分为小的业务模块,分别部署在不同的机器上

主要的使用场景就是为了摆脱单机资源的束缚,拆分雨雾模块实现低耦合,减少运行时间

以缩短单个任务的执行时间来提升效率

三.分布式架构演进

单体架构:

功能不拆分,如myLibrary[doge]

优:开发部署方便,小型项目首选

劣:项目启动慢

     性能低

垂直架构:

拆分成多个子项目,项目独立不交互

如淘宝与天猫

劣:重复功能太多

分布式架构:

在垂直架构基础上,拆分子模块,形成独立服务,实现服务共享和重用

劣:服务提供方一旦变更,消费方都要变更

SOA架构:

面向服务架构,功能单元通过ESB进行通信与连接

微服务架构:

原有的单个业务系统拆分为多个独立开发,设计,运行的小应用,之间通过服务完成交互和集成

特点:

组件化:不需要协调其他团队

去中心化:每个微服务有自己自己私有的数据库

自动化部署:应用拆分,方便部署,测试,运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值