独家专访阿里高级技术专家北纬:Dubbo开源重启半年来的快意江湖

摘要: 罗毅,花名北纬。这个名字,如果是混过天涯论坛的大龄网民应该都不陌生,北纬67度3分周公子(简称北纬)虐杀易烨卿MM的世纪大战至今还是天涯神贴 ,当时更是有看客赋诗形容:“目睹此帖,开怀大笑,行走论坛,此帖独尊。”可见其影响力。

罗毅,花名北纬。这个名字,如果是混过天涯论坛的大龄网民应该都不陌生,北纬67度3分周公子(简称北纬)虐杀易烨卿MM的世纪大战至今还是天涯神贴 ,当时更是有看客赋诗形容:“目睹此帖,开怀大笑,行走论坛,此帖独尊。”可见其影响力。


罗毅取花名为北纬,可以说是怀念这段经典,致敬周公子。

孔子说,40而不惑。如今的罗毅应该就是这个状态了,对人情世故有所清明,对自己的状态,尤其是所做的工作有着清楚的认知,对未来也有一定的计划。

20余年的从业履历,不能说每一段都足够完美,但无论是在Oracle(世界百强,全球最大的企业级软件公司),还是在BEA 系统(著名的Java 中间件软件公司),抑或如今的阿里,都在北纬的人生履历上留下了足够漂亮的一笔。

谈“阿里”

在阿里工作是一种什么体验?阿里的江湖里有武侠情结

北纬是在2014年7月份进入阿里的,就在将近2个月内,阿里在纽约证券交易所正式挂牌上市。他算是见证了阿里成长的老员工,目前主要负责中间件小组工作、微服务、RPC框架等内容。

程序员心向往之的大厂阿里究竟是什么样子呢?北纬给出了自己的一些看法。


  • 阿里有哪些特殊的企业文化?

我认为阿里最出名的企业文化就是武侠文化了,表现在每个人都有花名。最开始的花名都是来自金庸小说(譬如风清扬、郭靖、杨过等),还挺好记的,后面人多了,会发现要记住所有人的花名开始变成不容易。

此外 ,比如用内网登陆阿里的单身GO,可以让单身男女青年内部消化,打开钉钉内部群,可以联系到阿里系所有的人,包括马老师。都是阿里很有意思的一些东西。

  • 面试阿里,哪些会是候选人的加分项?

我们最关注的是候选人个人追求的核心价值,和团队正在做的事情以及未来方向是否高度契合。而在个人素质方面,主要关注聪明、坦诚、有热情这3个方面。

  • 由于体量大,阿里的业务之间会不会存在比较多的交叉,对技术人员也有不同业务线协作的需求?

根据康威定律,组织架构决定软件架构。

阿里是国内最早做服务化改造的公司,架构按照服务拆分,不同业务之间的交互主要是通过契约,契约不变的前提下各团队各司其职。业务线之间的协作往往也会发生,典型的会发生在影响上下游的新版本发布或者横向的架构改造升级。因此,这类事情对于中间件团队等基础架构部门比较多一点。

  • 同一发展阶段,技术人在阿里的最大的收获会是什么?

我认为技术人在阿里工作,面对的主要是双十一的体量对软件、架构设计上的挑战,能够更真切地感受到自己负责的组件在其中承担的作用从而带来了很大的成就感。

谈“Dubbo”

时隔3年 阿里的开源Dubbo 3.0满血复活!

对于 Dubbo 框架,大部分 Java 开发者都不会感到陌生,它自诞生起就备受关注。


2012 年,阿里巴巴在 GitHub 上开源Dubbo,许多开发者及公司都青睐于使用Dubbo来解决服务化问题。去年11月份,阿里宣布重启Dubbo开源,那么目前Dubbo的开源进展如何?

北纬就是Dubbo开源项目和内部服务框架的负责人,场主和他也聊到一些大家所关心的关于Dubbo的问题:

  • 你是什么时候接手Dubbo项目,在此之前对Dubbo的了解程度如何?

我正式接手Dubbo是从2017年7月份开始的,以前其实也陆陆续续维护过 Dubbo,比如 2016 年里也做过相关尝试。

我对 Dubbo 的了解主要来自梁飞在 JavaEye 的系列文章,再通过自己阅读源码,以及在内部 RPC 框架对 Dubbo 兼容的工作中学习所得。而在正式接受Dubbo项目后,我又开始认真地体系地去了解 Dubbo 。

出于统一运维的考虑,阿里内部使用的是一个比开源版本更先进的服务框架,这个框架经历了历年双十一大促峰值的考验。

目前 Dubbo 开源和内部服务框架都由我的团队负责,我们在认真审视如何融合两个框架优点的问题,这一点相信会在未来的 Dubbo 3.0 中有体现。

  • 为什么在2年多的“断更”后,选择重启Dubbo开源?

主要缘由有四个方面:战略、社区、生态和回馈。

首先阿里巴巴将开源提到了新的战略高度,去年云栖大会上阿里云宣布了加大技术投入、拥抱开源的策略。

从社区来看,这两年社区提交的 pull request 和问题没有得到及时的解决,一些公司开始自己维护Dubbo的私有分支,使得版本分化严重。所以,Dubbo希望与社区进一步的互动,同时激发 Dubbo 团队的产品灵感。

而一个活跃的社区必将产生一个繁荣的生态,将普惠所有使用 Dubbo 的人和Dubbo本身。

我们目前也在倾听社区里的声音,对版本做升级,希望通过开发者们的共同推动,未来都回馈给社区。

我相信,这次投入资源重启开源核心是让开源发挥更大的社会价值,对于我们 Dubbo 团队来说,也能够从社区的交流中获得更多的灵感。

  • 现在重新启动Dubbo是否还有相当的优势与社会认可度?

实践证明,Dubbo 在国内开发社区里还是有很好的群众基础的,很多公司的服务化方案上跑在 Dubbo 上。

自去年开源重启以来,GitHub 上的 star 数增长接近 80%,达到了 18500。当然后面我们需要更加关注 Dubbo 对最新技术趋势的跟随,服务治理的增强,以及对性能的追求。

同时,我们也十分欢迎社区的贡献,并且目前已经和国内一些活跃的 Dubbo 个人开发者和公司建立了紧密的连接,未来我们还期待有国外的开发者能够加入进来。

  • 目前Dubbo在Apache的孵化进展如何?选择捐赠的原因是什么?

项目捐赠给 Apache 基金会进行孵化,Dubbo并不是首例,早在2016 年 12 月,阿里巴巴就宣布将移动开源项目 Weex 捐赠给 Apache 基金。

目前,进入 Apache 基金会之后的第一个正式版本的发布正在准备中,由于要熟悉 Apache 的发布过程,这个版本会花些时间,所以还请大家耐心等待一段时间。

而捐献给 Apache 基金会的原因也很简单,这次把项目放到中立方托管,是希望借助社区的力量来发展 Dubbo,也打消大家对于 Dubbo 未来的顾虑。

捐献之后的代码库仍然在 GitHub 上,地址是:https://github.com/Apache/incubator-Dubbo。

另外我们会同步在 https://github.com/Dubbo 上建设 Dubbo 的生态,期望为所有 Dubbo 的使用者带来更丰富的选择。

社区交流基本是英文呈现,是否在重启中考虑建立中文的社区?



社区交流基本上用英文一方面上 Apache 的要求,另一方面我们也期待 Dubbo 能够走向世界。

但同时,我们当然不能够忽略国内用户永远是 Dubbo 最大的用户群体的这个事实,中文社区也在规划之中,会重点包括产品文档、技术博客、和问答社区等。

  • 今后的Dubbo开发者沙龙活动在城市选择和内容侧重上如何?

目前看起来,Dubbo 的主要用户分布在北上广深和杭州,进一步的,我们也会重点考虑成都和南京。

沙龙活动的分享主题是面向工程师向的,会包含架构分析、源码解读、Hands On、以及友商案例分享等内容,由于 Dubbo meetup 同时会提供直播,完全可以异地跟踪到 Dubbo meetup 每一站的内容。

谈“微服务架构”

提到 Dubbo 就不能不说微服务 而言及微服务一定有Service Mesh一席之地

传统的微服务向我们展现了服务化的未来蓝图,也提供了诸多方法论和最佳实践指导我们完成架构的变革。

但是显然实施过微服务的朋友们都一定清楚,这是一个异常复杂且充满了不确定性的改造过程——将单体系统剥离、引入服务化组件、将内部调用转化为远程调用、解决因为调用远程化和分布化而带来的各种次生问题(网络问题、安全问题、状态管理问题、一致性问题等等)。

此时,Service Mesh 无疑是一根救命稻草。简言之,Service Mesh 另辟蹊径,在不深入服务内部的情况下,以 Agent 的形式与服务共生,并由 Agent 提供一切微服务所需要的能力。

  • 分布式事务如何解决?

采取 BASE 柔性事务,强调最终一致性,相关的手段包括 TCC、可靠消息和补偿机制等。目前这一块的趋势是如何避免对业务的侵入。

原文链接

本文为云栖社区原创内容,未经允许不得转载。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库可以存php代码,php把数组保存数据库程序代码

我们在做缓存文件时经常会要把php代码或数组转换成字符串保存到数据库中,下面我来介绍两种把数组保存到数据库的方法。方法一:用serialize写入,再用unserialize输出serialize()就是将PHP中的变量如对象(object),数组(array)等等的值序列化为字…

实践心得:从读论文到复现到为开源贡献代码

摘要: 本文讲述了从在fast.ai库中读论文,到根据论文复制实验并做出改进,并将改进后的开源代码放入fast.ai库中。介绍去年我发现MOOC网上有大量的Keras和TensorKow教学视频,之后我从零开始学习及参加一些Kaggle比赛,并在…

python xml etree word_使用python格式化插入的元素xml.etree模块,包括新行

我正在将一个元素插入到一个大的xml文件中。我希望插入的元素位于顶部(所以我需要使用根.插入方法,并且不能仅附加到文件中)。我也希望元素的格式与文件的其余部分相匹配。在原始XML文件的格式为....然后运行以下代码:^{pr2}$它以以下形式创建输出&#…

(vue基础试炼_08)Vue模板语法

文章目录一、插值表达式二、v-text 中不是字符串而是js表达式三、v-html四、js表达式&#xff0c;可以和字符串拼接五、源码链接一、插值表达式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Vue模…

FPGA设计中遇到的奇葩问题之“芯片也要看出身”

阿里云资深专家隐达分享了他十余年工作经历中的一段奇葩历程。文章诙谐幽默&#xff0c;用玄幻小说的写法分享技术问题&#xff0c;非常值得大家一读。 &#xff08;一&#xff09;昨夜西风凋碧树。独上高楼&#xff0c;望尽天涯路2000年的时候&#xff0c;做设计基本都是使用X…

php msgid排重,如何应用php数组对百万数据停止排重

如何应用php数组对百万数据停止排重如何应用php数组对百万数据停止排重在往常的工作中&#xff0c;常常接到要对网站的会员停止站内信、手机短信、email停止群发信息的告诉&#xff0c;用户列表普通由别的同事提供&#xff0c;当中难免会有反复&#xff0c;为了避免反复发送&am…

FPGA资源平民化的新晋- F3 技术解析

摘要&#xff1a; FPGA (现场可编程门阵列)由于其硬件并行加速能力和可编程特性&#xff0c;在传统通信领域和IC设计领域大放异彩。一路走来&#xff0c;FPGA并非一个新兴的硬件器件&#xff0c;由于其开发门槛过高&#xff0c;硬件加速算法的发布和部署保护要求非常高&#xf…

Vue计算属性、方法、侦听器

文章目录一、基础计算模板二、计算属性computed三、方法methods四、侦听器watch五、总结六、源码地址一、基础计算模板 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Vue计算属性、方法、侦听器<…

python数据分析简答题_Python数据分析与数据可视化-中国大学mooc-试题题目及答案...

Python数据分析与数据可视化-中国大学mooc-试题题目及答案更多相关问题【简答题】城轨供电系统按功能划分为几部分&#xff1f;各有什么作用&#xff1f;【多选题】影响债券价格的因素有【单选题】关于注射剂的质量要求&#xff0c;叙述错误的是 prefix\"o\" ns\&quo…

漫画:五分钟看懂车联网

戳蓝字“CSDN云计算”关注我们哦&#xff01;福利扫描添加小编微信&#xff0c;备注“姓名公司职位”&#xff0c;加入【云计算学习交流群】&#xff0c;和志同道合的朋友们共同打卡学习&#xff01;推荐阅读&#xff1a;华为 | 泰山之巅 鲲鹏展翅 扶摇直上九万里聊聊我是如何在…

对数据科学家来说最重要的算法和统计模型

摘要&#xff1a; 本文提供了工业中常用的关键算法和统计技术的概要&#xff0c;以及与这些技术相关的短缺资源。作为一个在这个行业已经好几年的数据科学家&#xff0c;在LinkedIn和QuoLa上&#xff0c;我经常接触一些学生或者想转行的人&#xff0c;帮助他们进行机器学习的职…

JAVA ulimit,java-从linux中的jvm中查找硬打开和软打开文件限制(ulimit -n和ulimit -Hn)

我有一个问题,我需要从Java / groovy程序中找出Linux中进程的硬打开和软打开文件限制.当我从终端执行ulimit时,它将为硬打开文件限制和软打开文件限制提供单独的值.$ulimit -n1024$ulimit -Hn4096但是,如果我以常规方式执行它,它将忽略软限制并始终返回硬限制值.groovy> [ba…

计算属性的setter和getter

computed的属性不仅可以写一个get方法&#xff0c;通过其他的值算出一个新值&#xff1b;同时&#xff0c;也可以设置set方法&#xff0c;通过设置一个值&#xff0c;来改变他相关联的值&#xff01;而改变了相关联的值之后&#xff0c;又会引起fullName的重新计算&#xff0c;…

python制作远程桌面控制_Python 远程桌面协议RDPY简介

RDPY 是基于 Twisted Python 实现的微软 RDP 远程桌面协议。RDPY 提供了如下 RDP 和 VNC 支持&#xff1a;RDP Man In The Middle proxy which record sessionRDP HoneypotRDP screenshoterRDP clientVNC clientVNC screenshoterRSS Player目前能够找到的关于RDPY的中文介绍确实…

华为愿出售5G技术渴望对手;苹果将向印度投资10亿美元;华为全联接大会首发计算战略;腾讯自研轻量级物联网操作系统正式开源……...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

数组元素反序

和前面的字符串逆向输出有异曲同工之妙 第一位和最后一位交换位置&#xff0c;然后用比大小循环 那么接下来修改一下这个程序&#xff0c;我们接下来解释一下p的概念 画图解释&#xff1a; 在最前面的 定义的时候&#xff0c;我们将p&#xff08;0&#xff09;定义在了1上&…

如何计算Java对象所占内存的大小

摘要&#xff1a; 本文以如何计算Java对象占用内存大小为切入点&#xff0c;在讨论计算Java对象占用堆内存大小的方法的基础上&#xff0c;详细讨论了Java对象头格式并结合JDK源码对对象头中的协议字段做了介绍&#xff0c;涉及内存模型、锁原理、分代GC、OOP-Klass模型等内容。…

hilbert谱 matlab,怎么在matlab中做信号hilbert边际谱分析

摘要&#xff1a;传统的数字滤波器的设计过程复杂&#xff0c;计算工作量大&#xff0c;滤波特性调整困难&#xff0c;影响了它的应用。本文介绍了一种利用MATLAB信号处理工具箱(Signal Processing Toolbox)快速有效的设计由软件组成的常规数字滤波器的设计方法。给出了使用MAT…

时间序列数据的处理

摘要&#xff1a; 随着云计算和IoT的发展&#xff0c;时间序列数据的数据量急剧膨胀&#xff0c;高效的分析时间序列数据&#xff0c;使之产生业务价值成为一个热门话题。阿里巴巴数据库事业部的HiTSDB团队为您分享时间序列数据的计算分析的一般方法以及优化手段。演讲嘉宾简介…

saas java框架_XMReport-提供web项目Java套打解决方案

简介XMReport是国内首款支持在线编辑&#xff0c;维护的控件式报表产品。XMReport报表产品分为设计器与引擎两个部分&#xff0c;其中报表设计器是完全基于HTML5技术&#xff0c;提供优秀跨平台的支持&#xff0c;用户无需安装客户端或者插件&#xff0c;仅使用浏览器即可进行报…