分布式部署

1.什么是分布式系统 

通俗点说:就是能把系统进行拆分并部署到多台服务器上的系统。(注意区分分层和集群)
专业点说:分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由网络互联的多处理机体系结构上执行任务的系统。常见的有:分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统、分布式数据库系统、分布式应用系统等。

2.为何需要分布式
单台服务器已经无法承受访问压力
大数据处理
高并发访问
高可用性,自动容错
并行、高性能应用
……

3.分布式系统的特点
1):面对高并发、大数据量的处理要求
2):高可扩展性(可伸缩)
3):高性能
4):异构:操作系统、硬件、程序语言等
5):同步、异步操作混杂
6):安全性:授权认证、SSO单点登录、Oauth等
7):透明性,如:访问透明、位置透明、并发透明、故障透明、伸缩透明等

4.分布式系统的缺点
1):相互调用不便
2):网络通信的可靠性
3):网络传输数据的安全问题
4):系统开发更复杂
5):测试困难 

5.什么是分布式部署
简单点说:就是把程序或数据,分散部署到多台物理服务器上,但他们组合起来,形成一个整体对外提供服务。 

6.分布式架构部署的演变 

1.1台服务器的最简部署 

 

比如我们在自己的电脑上跑一个项目!web服务器和数据库服务器都是在同一台物理机器上!

2.分离Web服务器和数据库服务器 

3.水平增加Web服务器,加入Varnish(请求很多,一台web服务器不够了) 
在一台服务器上起多台web服务器,或者增加硬件

 

4.加入分布式的文件系统 
系统有大量的图片,文件等

 

5.加入缓存服务(有大量的读取数据库中数据的情况) 

6.MySql数据库的主从集群、读写分离 

 

7.继续水平增加Web服务器,加入Nginx 

8.按业务进行缓存分离,缓存集群 

9.加入消息系统,进行异步处理

10.对重要的节点进行HA集群,或者是双机热备,以保障可用性 
分布式部署给开发带来的问题 
分布式部署会带来很多问题,有很多在开发期间就要考虑到,比如:
1:各个拆分开的模块间如何相互调用
2:单点登录
3:会话的统一管理
4:一致性更新
5:分布式事务
6:关键服务的可用性保障 

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值