本帖最后由 为热爱挥汗 于 2018-12-25 10:33 编辑
如何部署分布式Memcache服务器?
1、关于服务器的几个概念 集群:服务器集群就是将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。 布式:多台服务器共同工作,每台服务器负责实现不同的业务。 2、memcache分布式服务器 假设memcached服务器有server1,server2,server3三台,应用程序要保存键名为“name”,“age”,“sex”,“address”的数据。首先向memcached中添加“name”。将“name”传给客户端程序后,客户端实现的算法就会根据“键”来决定将数据保存在哪一台memcached服务器。 同样,“age”“sex”“address”都是先选择服务器再保存。接下来获取保存的数据。获取时也要将要获取的键“name”传递给函数库。函数库通过与数据保存时相同的算法,根据“键”选择服务器。使用的算法相同,就能选中与保存时相同的服务器,然后发送get命令。只要数据没有因为某些原因被删除,就能获得保存的值。 这样,将不同的键保存到不同的服务器上,就实现了memcached的分布式。 memcached服务器增多后,键就会分散,即使一台memcached服务器发生故障无法连接,也不会影响其他的缓存,系统依然能继续运行。 memcache分布式服务器原理图示如下:
3、使用PHP实现分布式MemcachePHP的PECL中的Memcache扩展能够有效的解决Memcache的分布式问题,主要的接口就是 addServer() 函数,具体使用请参见下面的代码。
|