7月目标 socket , 一致性哈希算法 ; mongodb分片; 分布式消息队列; 中间件的使用场景

 

分布式的基础:一致性哈希  路由算法的一致性hash

http://www.jiacheo.org/blog/174

http://www.tuicool.com/articles/vQVbmai

http://www.cnblogs.com/huangxincheng/p/3708316.html

 

redis 和 mongodb的使用,要能自己写 helper帮助类,和多台机器上的使用

 

socket

http://www.cnblogs.com/JimmyZhang/archive/2008/09/07/1286300.html

socket一般都是用在控制台、form程序(winform、wpf)等能够持续运行的环境。asp.net也可以使用(你可以将你在控制台里面建立好的socket程序代码完整的复制到aspx后台代码中一样运行),但是不适合做为长期运行的socket服务端,适合做简单的socket客户端程序,去请求socket服务。

 

 

只搞过1W以内的用户!做一个windows服务不会的可以百度windows服务;作为服务端,使用UDP通信只要客户端登录就将该客户端加入在线列表中,不在线的就不用管喽!客户端过一定的时间发送心跳如果服务端接收不到心跳消息就认为客户端离线,将该客户端踢出在线列表!

 

redis

http://www.cnblogs.com/huangxincheng/archive/2013/04/10/3013407.html

 

消息队列

我也要谈谈大型网站架构之系列(4)——分布式中的异步通信

 

 

中间件的定义:

答:服务器 之前 通信 那是不同服务直接的数据交换  比如 你有一个验证服务器(可以验证用户权限) 然后你还有一个添加数据的服务! 用户添加数据肯定要用相应的权限! 所以他们会通信

答:传什么 无所谓 就给你们客户端连接服务器一样 服务器连接服务器 也是一样的

问:那,比如说,我用个c# 新建个类库,实现了这个所谓的中间接收和发送的机制,这个类库生成的dll我就可以叫做 中间件了把

答:server 是服务  中间件 是介于服务和客户之间的东西! 故名中间件

问:那我举这样的例子
         用户登陆,请求调用A服务器上的验证, 但是用户数据在B数据库上,于是A发消息到B数据库,验证后返回数据到A,然后又返回给用户
         这个过程,A和B之间通讯的过程,叫做服务器通讯
         A和B之间,发送消息和接收消息的代码,叫做 中间件
         可以这样理解么?

答:

如果你愿意 也可加入负载均衡  不过中间件更多要做的是 服务端逻辑操作 .

客户端并不知 服务端到底有多少服务 有什么服务!

问:也就是说,如果我只有一台服务器,这个服务器上有个  webservice给别人调用,也可以叫做 中间件?

答:中间件会根据没过客户的请求 做出逻辑操作 具体要请求那个服务进行返回请求! 很多时候 中间件会调用多个服务 进行组合数据然后返回给客户

问:嗦嘎  明白了
      简单的说,就是 负责在中间干活,不是直接调用服务器的,就是中间件
      至于有没有 分布式,有没有 消息队列什么的  这个跟 中间件 没有直接关系
      只不过大型的项目里面,一般中间件都是分布式,并且带了消息队列而已
      可以这样理解了不

答:你只要理解中间 这2个字就行了

7月目标 socket , 一致性哈希算法 ; mongodb分片; 分布式消息队列; 中间件的使用场景

时间: 2024-12-22 06:53:50

7月目标 socket , 一致性哈希算法 ; mongodb分片; 分布式消息队列; 中间件的使用场景的相关文章

一致性哈希算法运用到分布式

我知道一致性哈希算法.但是,在没遇到你的时候,我还不知道怎么写.因为我肯本还没来的思考.但是,现在我知道了~~嘿嘿.   这里主要讲的是memcached(以下简称mem)集群,遇到集群中某台服务器down(M服务器)后,无法get到mem的值,这就给程序带来了风险,我们需要将风险用算法分摊出去,并将M的mem分布到正常的服务器上(N是正常运转的服务器).先讨论风险分摊的理论算法思路(因为同步mem是另外一篇,有时间再聊聊): 其实,主要思路很简单.通俗点儿来讲,就是理解将一个点分散为多个点分散

一致性哈希算法(consistent hashing)

memcache的一致性hash算法使用 http://blog.csdn.net/kongqz/article/details/6695417 一.概述 1.我们的memcache客户端(这里我看的spymemcache的源码),使用了一致性hash算法ketama进行数据存储节点的选择.与常规的hash算法思路不同,只是对我们要存储数据的key进行hash计算,分配到不同节点存储.一致性hash算法是对我们要存储数据的服务器进行hash计算,进而确认每个key的存储位置.  2.常规hash

分布算法之一致性哈希算法

h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child { margin-top: 0; padding-top: 0; } a:first-child h1, a:first-child h2, a:first-child h3, a:fi

memcached 一致性哈希算法

本文转载自:http://blog.csdn.net/kongqz/article/details/6695417 一.概述 1.我们的memcache客户端使用了一致性hash算法ketama进行数据存储节点的选择.与常规的hash算法思路不同,只是对我们要存储数据的key进行hash计算,分配到不同节点存储.一致性hash算法是对我们要存储数据的服务器进行hash计算,进而确认每个key的存储位置.  2.常规hash算法的应用以及其弊端 最常规的方式莫过于hash取模的方式.比如集群中可用

理解一致性哈希算法

场景分析 在分布式缓存的伸缩性设计中,最主要的目标就是在新加入缓存服务器后,应该使整个服务器集群中已经缓存的数据尽可能还被访问到.对于服务器集群管理,路由算法至关重要,它决定着客户端究竟该访问集群中的哪台服务器. 余数Hash 简单的路由算法可以使用余数Hash: 用服务器数目除缓存数据key的Hash值,余数为服务器列表下标编号. 该思路的简单代码实现如下: class RemainderHash { private List<String> serverNodes; private int

转(一致性哈希算法(consistent hashing))

转自:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用. 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: 1.平衡性(Balance)

一致性哈希算法原理

一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用. 但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,memcached服务器端本身不提供分布式cache的一致性,而是由客户端来提供,具体在计算一致性has

一致性哈希算法(consistent hashing)(转)

原文链接:每天进步一点点——五分钟理解一致性哈希算法(consistent hashing) 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似.一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用. 一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义: 1.平衡性(Balance):平衡性是指哈希的

一致性哈希算法

tencent2012笔试题附加题    问题描述: 例如手机朋友网有n个服务器,为了方便用户的访问会在服务器上缓存数据,因此用户每次访问的时候最好能保持同一台服务器.已有的做法是根据ServerIPIndex[QQNUM%n]得到请求的服务器,这种方法很方便将用户分到不同的服务器上去.但是如果一台服务器死掉了,那么n就变为了n-1,那么ServerIPIndex[QQNUM%n]与ServerIPIndex[QQNUM%(n-1)]基本上都不一样了,所以大多数用户的请求都会转到其他服务器,这样