12 2011 档案

摘要:CAP理论被很多人拿来作为分布式系统设计的金律,然而感觉大家对CAP这三个属性的认识却存在不少误区。从CAP的证明中可以看出来,这个理论的成立是需要很明确的对C、A、P三个概念进行界定的前提下的。在本文中笔者希望可以对论文和一些参考资料进行总结并附带一些思考。一、什么是CAP理论CAP原本是一个猜想,2000年PODC大会的时候大牛Brewer提出的,他认为在设计一个大规模可扩放的网络服务时候会遇到三个特性:一致性(consistency)、可用性(Availability)、分区容错(partition-tolerance)都需要的情景,然而这是不可能都实现的。之后在2003年的时候,Mit 阅读全文
posted @ 2011-12-19 13:28 MMJX 阅读(7786) 评论(2) 推荐(2)
摘要:现在的NoSQL数据库实在是太多了,也尚未发现有比较完整的介绍、评价以及评测。最近微博上又热炒MongoDB是多么的不靠谱,用户声泪具下的控诉10Gen是多么的不靠谱。可见一个东西并非加个好名字,不靠谱的就靠谱的,毕竟数据这块还是很敏感的,在上项目的时候最好就能有个比较清晰的选择,否则未来还是会遇到结婚了还要离婚的痛苦场面。 另外需要特别指明的就是NoSQL数据库和现在一些流行的分布式缓存系统的区别,比如Memcached等。NoSQL本意所指的是去掉了R的DBMS,一般也会取消对事务和其他高级特性,比如表关系的关联等,因此并没有人规定NoSQL一定是基于Key-Value的,虽然大部分是这. 阅读全文
posted @ 2011-12-16 23:50 MMJX 阅读(879) 评论(0) 推荐(1)
摘要:1. 使用Compojure开发的Web Server,怎么样绑定其端口?现有的Clojure开发环境大致有2种,一种是Emacs下的开发,一种是ERPL下。Compojure可以利用lein和ring的结合,做到自动reload修改过的文件而不用重启服务器,因此大部分时候我们都使用lein ring server来启动我们的服务器,然而这种做法并没有提供绑定端口的方式,如果需要绑定到给定的端口,特别是1~1024这些需要特别权限的端口,我们需要使用别的方法。比如使用ring.util.serve方法::dev-dependencies [[ring-serve "0.1.0&quo 阅读全文
posted @ 2011-12-14 10:23 MMJX 阅读(831) 评论(0) 推荐(0)
摘要:最近用HttpClient做一个工具做代理访问服务器的WebService,由于服务器是采用NTLM验证的,再加上网上的很多资料大多是关于HttpClient 3的,折磨了好久才搞定。这里记录一下,供以后参考使用。关于文中内容,我不按照手册上的写法,而是整理成小Tips,希望看起来简单轻松一点。1,HttpClient 4.x 库可以自己处理Cookie这一点误导了我很久,HttpClient 4.x提供了CookieStore来帮助程序员管理本地Cookie,并且在Http请求的过程中,如果服务器的返回中带有Set-Cookie这样的字段,当前HttpClient的CookieStore中就 阅读全文
posted @ 2011-12-06 16:24 MMJX 阅读(1846) 评论(0) 推荐(0)
摘要:最近接触到SoapUI,下载了最新的版本4.0.1使用,功能相当的强大。对于一个采用了NTLM验证的Web Service服务器,使用SoapUI几乎能够对所有的Web Service进行访问,而相比较之下,自己编写的基于HttpClient的库却不行。于是只能阅读以下SoapUI中与HttpClient相关的代码,求解惑。正好网上的资料也比较少,写成文档供以后参考。SoapUI 4.0.1使用的还是3.x版本的HttpClient,而现在HttpClient已经到4.x版本了,而且整个类结构有了非常大的变化,而且在3.x直接支持的NTLM现在必须要使用额外的JCIFS库才能调用。从代码中来看 阅读全文
posted @ 2011-12-06 15:42 MMJX 阅读(842) 评论(0) 推荐(0)