领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 丁雪丰 发布于 2011年7月14日
在7月10日举行的淘宝技术嘉年华之淘宝技术专场上,来自淘宝产品技术部中间件团队的曾宪杰(花名华黎)为大家介绍了近几年Java在淘宝的应用情况――《Java@Taobao》。
演讲之初,曾宪杰先分四个阶段介绍了淘宝的建构变迁:
曾宪杰指出所谓大型网站就是要同时满足高访问量和搞数据量的要求,核心是通过分布式系统解决数据的处理、存储及访问问题。随后,他根据淘宝网站的结构示意图,分别介绍了其中涉及到的Java基础技术产品。
首先是在阿里集团内被广泛使用的Turbine风格的MVC框架――WebX,其核心代码由阿里巴巴18创始人之一的周悦虹(宝宝)编写,具有很好的层次化、模块化特点,高度可扩展,WebX还对Velocity模板做了编译优化,在一般情况下能有20%至50%的性能提升。
其次是中间件中的服务框架,负责服务的发布、查询、调用和治理。该服务框架使用上简单透明,支持软负载(没有中间层,服务使用方直接连接到服务提供方,使用服务注册查找中心进行管理),灵活可控,方便扩展,为保证稳定性提供了有力支持。
接下来是实现系统松耦合的消息中间件Notify,这是一个高性能、高可靠、可扩展组件,支持最终一致性和订阅者集群。所谓订阅者集群,即将订阅消息的客户端分为多个集群,集群之间采用Topic方式,让每个集群都能收到消息,集群之中再按照Queue的方式,仅由一个客户端来处理消息。
在数据层上,为了更好地支持分库分表以及读写分离,也做了一定的封装,对上层应用而言还是在操作JDBC,实际则是在使用淘宝分布式数据层(TDDL),它能实现SQL解析、规则路由、数据合并;既可以用jar的方式在客户端直接连接数据库,也可以让客户端通过DBProxy服务器访问数据库;还支持非对称数据复制。如果将众多数据源看成一个矩阵,横向是同一数据库的主库与从库,纵向是不同的数据库,TDDL将数据源分为三个层次――TAtomDataSource,封装单个数据源,将配置进行集中管理;TGroupDataSource,封装横向的多个数据源,支持权重和节点的增减;TDataSouce,管理整个数据源矩阵。在具体的场景中,系统可以选择配置的粒度。
在分布式存储方面,淘宝基于HBase 0.90.2做了一些扩展,主要是提供了一个运维页面,修正了Master节点恢复时间过长以及备用Master无法自动接管的问题,并做了一些优化。林昊在下午的iDataForum上就HBase做了更详细的分享。截止两周前的使用情况:
搜索方面,基于Lucene和Solr开发了终搜,可进行中心化的配置管理,容易接入,支持多种Dump机制。淘宝还拥有国内最大的Hadoop集群(云梯I系统),总容量超过1400台服务器,约30PB,利用率55.2%。主要做了JobTracker的异步化,NameNode优化,存储优化以及小作业优化。为了提升稳定性,除了哈勃(使用Cassandra存储数据,由云梯处理数据)对全网服务器基础数据进行采集分析以外,淘宝还有CSP监控,它主要监控核心应用,协助进行容量规划,以及服务的依赖于降级。目前CSP一共有15台服务器,15个库,对200多个系统进行监控,每日采集数据超过5000万行。淘宝如此大规模的系统的运维也是由系统完成,目前在系统的部署、发布、监控方面已经做了很多工作,在运维管理方面稍有欠缺。演讲最后,曾宪杰列举了众多各有特色的业务系统,分析了它们的架构,说明了各基础技术产品在这些系统中的应用。
如果您没有参加淘宝技术嘉年华,或者错过了心仪的主题,官方网站上已经陆续放出了演讲的幻灯片,可以访问日程安排页面进行下载。
丁雪丰 是InfoQ中文站编辑,满江红翻译组核心成员,出版过《Spring攻略》、《JRuby实战》等多部译著。主要关注领域:企业级应用、海量数据计算、动态语言应用等。
在实施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概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
2 条回复
关注此讨论 回复