检测台厂家
免费服务热线

Free service

hotline

010-00000000
检测台厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

专访曾宪杰大型网站系统与Java中间件实践万芳

发布时间:2020-02-14 11:49:35 阅读: 来源:检测台厂家

专访曾宪杰:大型网站系统与Java中间件实践-CSDN.NET

摘要:淘宝近10年来历次技术飞跃的参与者、贡献者和带领者曾宪杰做客了CSDN社区问答栏目,担任第四期的嘉宾,带您了解大型网站系统与Java中间件的实践。在活动开始之前,我们采访到了曾老师,一窥他的技术和人生。

编者按:淘宝技术部总监、淘宝技术委员会Java分会会长曾宪杰将携他的新书《大型网站系统与Java中间件实践》做客我们社区问答栏目,担任第四期的问答嘉宾,届时会接受广大网友的提问,欢迎各位网友前来与淘宝网中间件大牛曾宪杰一起碰撞思想的火花。以下为采访正文:

淘宝技术部总监曾宪杰,他是淘宝近10年来历次技术飞跃的参与者、贡献者和带领者。

曾宪杰,淘宝花名华黎,现任淘宝技术部总监,淘宝技术委员会JAVA分会会长。2002年毕业于浙江大学计算机系。先后在中科院下属企业、先锋电子(中国)等企业就职,是一个桌面管理系统的软件公司的联合创始人并负责总体技术工作。参与过邮政省级地市集中化生产作业系统的设计开发以及大型企业内部桌面管理安全系统的设计和开发。

2007年6月加入淘宝网平台架构团队,负责构建淘宝自主的消息中间件系统,同期主导了淘宝数据层的创建,这两个产品也是淘宝中间件中较为重要的两个。2010年下半年起开始负责整个淘宝中间件团队,帮助团队成为业内知名的Java技术团队。2012年开始从中间件走向应用系统的研发工作,2013年初负责新组建的淘宝技术部。熟悉C++和Java,在多线程、并发、网络通信及支撑大型网站的中间件领域有较多经验,对新技术有浓厚的兴趣。致力于带领团队在无线、数据、业务平台和组件化开发方面取得突破。

他也是《OSGi原理与最佳实践》一书的作者之一和《大型网站系统与Java中间件实践》的作者。

CSDN:请和大家介绍下你及目前所从事的工作。

曾宪杰:目前主要职责是负责淘宝技术部,在技术和管理上都会投入精力。主要的工作会看技术的发展以及新的技术如何应用在淘宝,这里包括了工程和算法相关的,此外无线也是我们重点关注的部分。然后会和团队一起完成技术部的规划以及帮助团队落地,此外是一些管理上的工作。之前负责的中间件团队,在13年4月份的时候,交给了其他Leader负责。

CSDN:能否具体介绍下淘宝网应用架构的变化历程以及架构中的自主研发部分?

曾宪杰:我是07年6月加入淘宝,当时淘宝已经是一个日成交超过1亿元的网站。网站从03年开始基本是一个LAMP架构,后面把应用从PHP迁移到了Java,数据库从Mysql迁移到了Oracle,在07年的时候,基本是一个集中式的应用,除了使用Oracle外,也有自研的搜索、缓存、分布式文件系统等基础设施。

而07年开始,主要的改造工作是围绕着应用和DB的扩展性做的,在应用方面,我们引入了服务框架,解决了应用服务化的问题;引入了消息中间件,完成了应用的解耦;引入了分布式数据层并且完成了数据变更通知以及数据迁移的系统,数据库也从Oracle换成了Mysql,完成了底层的数据库的伸缩性改造,通过这样的改造,使得我们的集中式的网站变成了一个大型的分布式系统,并且在一定程度内,在应用和数据库层面都是可以做到水平扩展的,这为业务的飞速发展以及应对高峰流量奠定了重要的基础。

上述过程中我提到的服务框架、消息中间件、分布式数据层以及支撑这三个重要系统的软负载中心、集中配置管理中心都是自研的。

CSDN:一个大型的高并发高性能网站架构需要从哪些层面去考虑?技术堆栈的选择又应该注意什么?

曾宪杰:对于大型的高并发高性能网站的架构,我觉得主要考虑的方面包括水平扩展性、稳定性、架构相关基础设施的易用性、容错性、异地数据中心支持等方面。

而技术方面的选择,如果不考虑现有技术人员的情况,那么建议选择的是有成功案例并且社区比较活跃的技术。

CSDN:其中存在的挑战是什么,架构和实现时需要避免哪些坑?

曾宪杰:细节是魔鬼,一些架构从比较抽象的角度去看,可能比较简单,但是很大的挑战就是细节,这些细节有具体产品实现的细节,也有和业务相关的需求细节。

从我们的经验,从一个功能的构思到最终完全做好,会遇到很多的问题,另外一个方面是一致性,一致性尤其是强一致性的保障是非常具有挑战的事情,再有一个是完全的自动化,这个部分也很困难,一不留神就容易产生雪崩或者不一致等严重的问题,具体需要避免哪些坑,这个在不同的产品上会不一样。

总体来说,在实现中花掉绝大部分时间是用于思考和解决哪些很异常的情况下的实现。

CSDN:关于高负载网站打造有什么建议?

曾宪杰:现在对于很多架构师和工程师来说,水平扩展是大家都特别注意的问题,我的建议是大家也要去重视垂直的扩展,去提升单点的能力在分布式系统中其实是很重要的;另外,我个人认为,去引入前面提到的那些组件并不算很困难,但是在这之外,我们如何能很好的评估系统的真实能力、了解当前线上峰值的压力、管理好我们应用之间的依赖,以及做好系统降级的工作是很重要的,此外,就是如何做到异地多数据中心。

CSDN:你在分布式数据库中间件这方面有很深的造诣,能否分享一下你们的数据库中间件?与同类数据库中间件相比,它具有哪些特性?解决了哪些技术难点?

曾宪杰:这个只是有一定的了解和经验,不能说造诣很深。就我自己的看法,很多数据库中间件主要解决的是数据库请求的SQL解析和路由的工作,这个在淘宝来说,当然也完成了相关实现。而不太一样的是淘宝的数据访问层,解决了非对称的数据库的数据复制,这个具体指的是源数据和目标数据库系统不是同样数据库并且数据并不是镜像复制的需求,此外,我们的数据层不仅仅解决数据访问问题,也完成了数据库的平滑扩容和缩容处理。在使用方式上,集成在应用中的组件和独立部署的代理两种方式并存,而在数据源的实现上,也提供了三层的可选方式。

非常具体的内容,我是把自己的经验都写到了《大型网站系统与Java中间件实践》一书的章节中了。

CSDN:是否可以分享一下淘宝网在开源方面的使用情况和贡献?

曾宪杰:淘宝网对待开源是积极和开放的,我们自己用到了很多的开源软件,小到一些组件,大到像Hadoop等一些系统。在使用开源的同时,我们会把自己对开源系统的修改以及完成Bugfix反馈给社区,来帮助开源软件的完善和发展,此外我们也把一些自研的系统进行了开源,给到那些需要使用的技术人员,并且也从使用者那里得到了很多的帮助,不论是提出的问题还是提交的一些代码,都给我们自身的软件发展带来了帮助。

CSDN:机构在选择和使用开源技术时,你有什么建议?

曾宪杰:我个人觉得需要考虑这几个方面:

性感美女

美女裸照

美女写真

美女大全