领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 霍泰稳 发布于 2009年10月21日
XMemcached是一个基于Java nio的memcached客户端。它线程安全,结构简单,支持所有的memcached文本协议和二进制协议,并且有比较优异的性能表现。它还支持一些高级特性,如JMX、动态增删节点、客户端统计以及nio连接池等。InfoQ中文站编辑采访了该工具的核心开发人员Dennis Zhuang。
和同类型的memcached客户端相比,XMemcached有什么特点?
与同是基于java nio的spymemcached相比来说,XMemcached具有以下特点:
1)API模型是同步,异步的API使用比较繁琐,在memcached协议加入noreply后,异步模型的存在价值就更可疑了;
2)支持设置memcached的节点权重;
3)支持动态增删节点,可以通过编程或者JMX;
4)支持nio连接池,并且允许让用户对网络层面有更多的控制,提供更多的性能优化选项;
5)支持客户端数据统计;
6)支持Kestrel,Kestrel是一个scala编写的MQ server。
有其他项目使用Xmemcached吗?他们有没有给你一些有价值的反馈?
因为xmemcached是在今年下半年才开始发展的,因此用户并不多,就我所知有rensea.com(人间网)、dii.cn(滴,一种聊天工具)以及一些企业的内部项目在使用。非常感谢他们的信任。
rensea.com的开发者给了我很大帮助,他们的持续使用给了我一些有价值的反馈,例如在1.2.0-stable刚发布的时候,由于引入了心跳检测,发现在特定场景下心跳检测会引起xmemcached的性能急剧下降,存储数据总是超时。最后通过查找发现是由于网络层在连接的idle判断条件上有遗漏。这个问题已经在yanf4j 1.0.1上及时修正。
XMemcached在哪些方面还需要改进,下一步你计划实现哪些功能?
XMemcached需要改进的地方有两个:文档和二进制协议的实现。文档很不完善,因为精力有限,我希望能补上更完善的用户指南。其次是二进制协议的实现,在效率上还有可以提高的地方。
另外,在*nix系统上,对于同一台主机的应用和memcached,使用unix domain socket可以进一步提高效率,这也是XMemcached准备探索的一个方向。由于Java不支持unix domain socket,可能需要通过JNI来实现。
在和人间网创始人兼CTO曹晓钢的沟通中,他谈到人间网不仅使用XMemcached连接到memcached服务器,也使用它连接到kestrel服务器,很稳定的支持了网站的需求。在选用Xmemcached之前,曹晓钢对几个类似的工具进行了评估:
主要的备选还有spy memcached和岑文初的memcache-client-forjava。开始的时候,我们选用的是spy memcached。他的问题在于因为使用异步模型,使用比较繁琐,代码量比较大;看过memcache-client-forjava的代码,觉得其中夹杂了一些不应该由memcached client实现的功能,例如客户端缓存,比较担心其会带来一些潜在的问题。
选中XMemcached的另外一个原因是其经过了仔细的性能调试。当然最根本的一个原因是,当我们和开发者接触后,开发者的支持很到位,反应迅速,代码质量也很高。经过实际的验证,最终我们选定了XMemcached。
有关Xmemcached项目的更多信息请浏览Google Code上的项目主页和wiki。
霍泰稳 霍泰稳是InfoQ中文站的联合创始人兼CEO,有多年的软件开发经验和媒体从业经历。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复