分布式的基础:一致性哈希 路由算法的一致性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个字就行了