【编者按】每个人的成长曲线不同,有的人在研究生之时就已有相当知名的产品和框架,从而在接下来的工作中一路顺风顺水,有的人缺需要经历一个又一个的坑才能成长,不管是前者的聪明高效,还是后者的笨鸟先飞,他们都是在迈着脚步不断地向前。不妨,我们停下脚步看下一些同行,以激励自己更好地前行。CSDN与你相约SDCC 2017·深圳站讲师。
2017年6月10-11日,SDCC 2017将在创新之都深圳火热开启。据悉,阿里巴巴中间件架构师冯嘉将在SDCC 2017·深圳站之互联网应用架构实战峰会带来题为《万亿级消息引擎架构、核心技术与最佳实践-Apache RocketMQ》的分享,更多峰会嘉宾和议题请点击「阅读原文」。 以下为正文:
【嘉宾】冯嘉,阿里巴巴中间件架构师,具有丰富的分布式软件架构、高并发网站设计、性能调优经验,拥有多项分布式、推荐领域的专利。开源爱好者,开奖,关注分布式、云计算、大数据领域。目前主要负责阿里巴巴消息中间件生态输出、MQ商业化 ,Apache RocketMQ联合创始人,社区布道者。 CSDN:请先和大家介绍下您和目前所从事的工作,以及关注哪些技术领域? 冯嘉:大家好,我叫冯嘉,10年毕业后进入阿里巴巴,先后负责过交易线的核心业务系统、Feeds系统、性能侦测平台、消息推送平台等。多年来一直致力于分布式、网站架构、全栈性能优化领域的研究与改进工作,最近开始关注大数据相关技术栈。目前主要负责阿里巴巴消息引擎RocketMQ的架构设计及其改进,同时也是Aliware MQ(RocketMQ商业版),Apache RocketMQ社区负责人。 CSDN:您对架构是怎样的理解?以及您对于架构师是如何定义的?包括其能力与职责。 冯嘉:我个人喜欢把架构分解为宏架构与微架构。宏架构可以理解为传统意义上的架构,强调高屋建瓴,全局视野,在重视功能特性的同时又不忽略非功能属性,如容错、安全、性能、可维护性、可扩展性、可运维性等,随着时间的推移、数据体量的陡增会不断演化。而微观架构是介于设计和实现之间的一种抽象思考,模式提炼。如测试驱动架构、Metrics驱动架构、IO编程模型、模型生命周期管理、API与SPI设计、重演与追溯、Backoff设计、流控设计、资源优雅释放模型、Reactive编程模型、资源Lookup模型、依赖管理模型等等。微架构的展开需要相当的篇幅,后面有机会会和大家一一分享。软件架构师不仅能够使用全局视野,对软件进行全屋勾勒,更需要具备很强的微架构能力,为软件落地过程中的关键部位把关诊脉,而这种综合能力也是我一直在团队里提倡的。 CSDN:2016年11月,阿里将RocketMQ捐献给Apache软件基金会,正式成为孵化项目,「开源」的初衷是什么?在「开源」的过程中有哪些让您印象深刻的事件? 冯嘉:捐赠的初衷,其实我在另一篇文章里面有经提及过。我们希望能为世界展示我们有能力设计出一款自主知识产权的具有世界级影响力的分布式产品。RocketMQ开源5年来,一直未停止对整个引擎的优化与升级。正是通过这么多年来的坚持,我们才有了站在Apache的机会。团队也非常珍惜这个与世界强手过招的机会,像开源领域的顶级会议(ApacheCon和OSCon),我们都会派同学去参加,分享我们的研发经验,同时也能带回来非常有意思的Idea,反哺我们的产品。 至于开源过程中印象深刻的事情,确实有不少。像在国内,很多同学还是比较倾向于伸手主义,这个我在社区也多次强调过。Apache RocketMQ,应该说所有开源软件项目几乎不存在全职的Committer,分享知识本是一件很快乐的事情,但有时候我们的用户灰常喜欢提一些“过份”的要求,这样的声音在社区里多了,对整个社区的健康发展非常不好。像在Apache,因为考虑到时区,考虑到隐私,通常都是通过异步的邮件进行沟通,这种形式存在了有18年了,我相信一定有它的合理性。而目前,我们也在大力提倡国内社区的同学向这方面靠拢,如果你遇到问题,能够通过这种方式反馈,我相信社区里还是有很多热心的同学很乐意帮助解答的。至于其他好玩的事情,后面有机会再和大家分享。 (责任编辑:本港台直播) |