NorthScale Memcached Server尝试总结

      前几天看dudu的文章(介绍一款Memcached服务器软件:NorthScale Memcached Server ),发现功能不错,自己做了下测试,目前纯属个人娱乐,并没有在正式项目中应用。我把我测试中遇到的问题和大家分享下,如果有朋友遇到和我一样的情况,希望能少走些弯路。

      第一:电脑重启后NorthScaleServer无法启动。

              

           

 

               我们需要在服务端安装NorthScale Memcached Server,安装过程本身特别简单,一步一步点击下一步就行。安装成功后会在桌面产生一个NorthScale Console的快捷方式,点击进入,里面提供了很多监视cache的功能,这些在以后的文章中详细可能会介绍。我想分享的是,如果这样安装后,再重启电脑,下次就会发现NorthScale Console 打不开了,进入服务管理,NorthScaleServer无法启动。当时尝试了很多方法都不行,但在重新安装服务端后,服务又能启动。后来终于发现有可能是此服务的默认端口8080会被其它应用程序占用,最终导致服务不能启动,尝试下把端口修改成8090,程序正常。在我解决这个问题的时间我给NorthScale工作组也发过邮件,但我的截图中是中文,没来的急帮忙解决,但当得知我自己已经解决后,他们决定考虑在以后的版本中提供配置默认端口的功能,目前要想修改端口,可以通过NorthScale Console网页修改,但当NorthScale Console都打不开时,就没啥简单方法了,除非重新安装服务端,显的不点不妥。

             

     第二:客户端不能保存泛型集合。

              第一点中提到的修改端口之前,还有一种情况,客户端不能保存泛型集合(List<Person>),以及ArrayList集合,但能保存数组对象(Person[]),以及单个的自定义类,这里的Person是能序列化的。我咨询过dudu,得到的答案是可以。后来这个问题在我修改端口后也得到解决,目前还不太清楚具体原因,如果哪位清楚请指教。

  

      第三:NorthScale Memcached Serve既然是分布式缓存,那么是如何实现信息共享的?及有多台NorthScale Memcached Serve,当用户在其中一台中插入cache后,其它的NorthScale Memcached Serve如何能共享之前保存的数据,总不至于每台服务器上都需要保存一份数据?

              NorthScale Memcached Serve有三个最主要的概念:
             1: Server Nodes:服务器节点,可以理解成任意一台安装了NorthScale Memcached Serve的电脑。
             2:Clusters:服务器集群,可以把多个Server Nodes连接成网状,构造Cluster,可以在NorthScale Console界面中完成,有一个Join Cluster的功能,可以实现N台Server Nodes的连接,这样当在一台Server Nodes上保存数据后,Clusters内的其它电脑也能查询到这个cache数据。既然有Join Cluster,当然也有Leave Cluster,就是从服务器集群中删除某一个Server Node,删除时会删除其中的所有数据。

            

               
             3:Cache Buckets:针对Server Nodes,其中可以控制内存块的大小等等。这中具体保存数据的核心所在,其中在NorthScale Console界面中,我们可以非常直观的观察在cache buckets中有哪些cache值。

               

               

       目前尝试到此为些,以后会陆续发一些心得出来和大家探讨这个看起来非常实用的工具。

原文地址:https://www.cnblogs.com/ASPNET2008/p/1802578.html