分布式、集群的一些认识

[b]分布式、集群的一些认识[/b]

[b]分布式的作用:[/b]
1.提高可用性(不能叫北京的用户访问广州的服务器吧(网络速度慢))。
2.提高系统性能,不同地区的用户访问不同地区的服务器。
3.如果在数据存储方面,可以提高存储容量。
4.降低单个数据库的压力。


[b]集群的作用:[/b]
1.可以进行负载均衡,把多用户请求均衡分给集群中的服务器进行处理,(这个请求给这个服务器处理,另一个请求给另一个服务器处理)
2.如果在数据存储方面,可以提高数据的可靠性,一个宕机了还有另一个在.


[b]Web负载均衡[/b]
[b]1.HTTP重定向[/b]
当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际
上就是页面重定向。通过重定向,来达到“负载均衡”的目标。

这个重定向非常容易实现,并且可以自定义各种策略。但是,它在大规模访问量下,性能不佳。而且,给用户的体验也不好,实际请求
发生重定向,增加了网络延时。


[b]2.反向代理负载均衡[/b]
反向代理服务的核心工作主要是转发HTTP请求,扮演了浏览器端和后台Web服务器中转的角色。可以做反向代理的软件很多,比较常见的
一种是Nginx。


[img]http://dl2.iteye.com/upload/attachment/0119/9548/d6f6d20f-4732-3a69-a63d-56fbc024fbca.jpg[/img]

反向代理中,常见的一个问题,就是Web服务器存储的session数据,因为一般负载均衡的策略都是随机分配请求的。同一个登录用户的请求,
无法保证一定分配到相同的Web机器上,会导致无法找到session的问题。
解决方案主要有两种:
1. 配置反向代理的转发规则,让同一个用户的请求一定落到同一台机器上(通过分析cookie),复杂的转发规则将会消耗更多的CPU,也增
加了代理服务器的负担。
2. 将session这类的信息,专门用某个独立服务来存储,例如redis/memchache,这个方案是比较推荐的。


[b]3.IP负载均衡[/b]
在负载均衡服务器收到客户端的IP包的时候,会修改IP包的目标IP地址或端口,然后原封不动地投递到内部网络中,数据包会流入到实际Web
服务器。实际服务器处理完成后,又会将数据包投递回给负载均衡服务器,它再修改目标IP地址为用户IP地址,最终回到客户端。

[img]http://dl2.iteye.com/upload/attachment/0119/9550/9f6a4084-d767-375d-b821-a2ff4fb5dd5c.jpg[/img]

[b]4.DNS负载均衡[/b]
一个域名是可以配置成对应多个IP的,当DNS时可以在DNS信息中得到那个服务器离自己最近就选择与那个服务器进行请求.


[b]总结:[/b]
数据库集群就是提高可靠性(备份),提高吞吐量(每个都可以提供数据(但要求一致性,否则数据可能不是最新的))。

数据库分布式提高数据的容量和分区管理。

但现在大多数大型系统都是分布式与集群一起使用来完成的。


参考原文:[url]http://kb.cnblogs.com/page/509402/[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值