谈谈中间件开发

最近频繁地在跟实习生候选人打交道,每次新接触一个候选人,都要花上一定的时间去介绍我们团队,候选人问的最多的一个问题就是「中间件部门一般是干嘛的?」,恰好我之前也接触过一些想从事中间件开发的小伙伴,问过我「现在转行做中间件开发还来得及吗?」诸如此类的问题,索性就写一篇文章,聊聊我个人这些年做中间件开发的感受吧。

什么是中间件开发?

我大四实习时,在一个 20 多人的软件开发团队第一次接触了中间件,当时项目的架构师引入了微博开源的 RPC 框架 Motan,借助于这个框架,我们迅速构建起了一个基于微服务架构的内部电商系统。接着在项目中,由于业务需求,我们又引入了 ActiveMQ…在这个阶段,我已经在使用中间件了,但似乎没有接触到中间件开发,更多的是使用层面上的接触。

我毕业后的第一份工作,公司有几百号研发,当时的 leader 看我对中间件比较感兴趣,有意把我分配在了基础架构团队,我第一次真正意义上成为了一名”中间件研发“,平时主要的工作,是基于开源的 Kong 和 Dubbo,进行一些内部的改造,以提供给业务团队更好地使用。这个阶段,做的事还是比较杂的,业务团队对某些中间件有定制化的需求,都需要去了解这个中间件,熟悉源码。这段时间,也是我成长最快的一个时期,我是在这个期间学会了 Docker、Neo4j、Kong 等以前从来没接触过的技术,并且更加深入地了解 Dubbo 这类 RPC 框架的原理。可能坐在我旁边的就是一个订单部门的同学,抛了一个功能点让我来改造。

现在,我供职于阿里云云原生中间件,相较于上一份中间件研发工作,阿里云这类互联网大公司,任意一个中间件都有少则数人,多则数十人负责,中间件部门和业务部门之间也有着明确的界限。在这里,中间件团队的职责可以细分为三个方向:

  1. 中间件团队会被业务团队的需求所驱动,为集团内部提供定制化的解决方案,俗称「自研」。所以你可能并不了解到 HSF、Diamond 这些阿里内部的中间件。
  2. 中间件团队会从事开源,花费大量的精力提升中间件的极致性能,提升开源影响力,引领技术先进性。这部分中间件则比较为人所熟知,例如 Dubbo、Spring Cloud Alibaba、RocketMQ、Nacos。
  3. 中间件会在阿里云输出商业化产品,相比开源产品,提供更高的 SLA、更强大的功能、更友好的交互。这部分商业化产品诸如:微服务引擎 MSE、消息队列 RocketMQ、分布式应用链路追踪 ARMS。

我的这三段经历,正好反应了不同规模的公司对中间件开发的不同需求。小公司使用中间件,例如 RPC、MQ、缓存等,基本是由业务开发人员自己维护的。但如果后台研发达到数百人,基本就会组建自己的中间件团队,或者选择使用阿里云等云厂商提供的中间件产品。


Kirito 杭州买房记 | 纯小白向杭州购房攻略

2021 年刚开年,解决了人生的一个大事,没错,就像标题里透露的那样,我在杭州买房啦。第一次有在杭州买房这个念头,还要说回 2020 年 6 月,当时和朋友们聚餐时偶然聊到了房子的话题,意外地发现竟然只有自己还没有在杭州买房,其中不乏有 96 年如此年轻的小伙子,自那次聚餐之后,我便开始关注起了杭州的楼市。

先说结果吧,我参与摇号的盘是在杭州市余杭区未来科技城的【天空之城】,摇号结果:

摇号结果

这是个什么概念呢,一共 6181 户参与摇号,房子一共有 1014 套,大概有 1/6 的人算是摇中,而我是摇中的人里面第 2 顺位选房的。记得等待摇号结果的那个周日中午,等待结果通知的那最后一个小时,真的比高考都要紧张,所幸不负期许,人品可以说非常爆炸了,希望摇号这件事没有花光我今年所有运气。

预计在大年初七~初十的时间点还需要办理预审并交付首付,再往后还要办理按揭、网签等流程,还需要忙活一段时间才算尘埃落定。趁着过年这段时间比较空闲,所幸记录一下自己在杭州楼市的经历,这样也给那些刚来到杭州,想要定居于此的小白们一些参考。


从校园到职场,聊聊实习这点事

从我最近发的实习招聘文章就可以知道,我最近在忙春招的事了,本人也非常“荣幸”,担任了我们团队这次春招的负责人。陆陆续续沟通了很多学生,于是在这个周末抽出了一点时间,跟大家聊聊我对校园实习的一些看法。


聊聊算法在面试中的地位

前段时间,有一位好友找到我,向我打听阿里社招笔试是否看重算法题的考察,我给予了肯定的答复。他表现的有些沮丧,表示自己工程底子很扎实,框架源码也研究地很透彻,唯独算法能力不行,leetcode 上的简单题做起来都有点吃力。以至于面试一些公司时,基本都是前几面和面试官聊工程,相聊甚欢,一到笔试就 GG。鉴于我个人在学生时代有过 ACM 经历,对算法还是相当感冒的,个人算法能力不算出众,也不算弱,最好成绩是省赛金牌,区域赛铜牌(主要还是抱得队友的大腿),后来实在是写不动 C++ 了,中途转了 Java,借这个机会跟大家聊一聊,分享下个人对算法的一些认识。


一个看板娘入住你的个人博客只需要三步

最近在浏览别人博客时,一个萌物给了我意外的惊喜,原来博客还可以这么玩

小恶魔

于是果断审查元素,发现这个萌萌哒的看板娘背后使用的是一个叫 live2d 的技术,并且凭借 Google 迅速找到对应的开源代码:https://github.com/xiazeyu/live2d-widget.js,https://github.com/EYHN/hexo-helper-live2d

你可以在我的博客中先目睹下它的实际效果:https://www.cnkirito.moe/,点击会有音效哦~

在浏览 live2-widget.js 的说明文档时,发现它对 hexo 的支持非常友好,恰好我的博客是通过 hexo 搭建的,所以本文会介绍一下如何为 hexo 集成一只看板娘。


日本东京游记 || 内含秋叶原、动漫打卡地攻略

由于表弟是个狂热的二次元爱好者,受我小姨之托,带他去日本游玩了一趟。趁着这个机会,打算给大家分享一下日本旅游的一些攻略,以祭奠我逝去的年假。这是我第二次去日本了,上一次还是大二时跟我初中舍友一起去的,所以这次去已经有了一些经验了,很多朋友表示想去日本,期待我能写一篇攻略,所以这篇攻略将会偏小白向,如果你是第一次去日本,那这篇攻略想必不会让你失望。


IDEA 插件推荐:Cloud Toolkit 测评

产品介绍

Cloud Toolkit 是一款 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。开发者能够方便地将本地应用一键部署到任意机器,或 ECS、EDAS、Kubernetes;并内置 Arthas 诊断、高效执行终端命令和 SQL 等。

对这款产品最直观的感受:这是一款发布工具,帮助用户在 IDE 中直接打包应用并部署到各种终端。原本看到其产品介绍位于阿里云的页面中,以为是一款和阿里云服务强绑定的产品,但试用过后发现,即使对于普通的云主机,其也非常适用,可以解决很多开发运维的痛点,非阿里云用户可以放心使用。


Dubbo 的前世今生 & Dubbo Meetup 南京

Dubbo 的前世今生

2011 年 10 月 27 日,阿里巴巴开源了自己的 SOA 服务化治理方案的核心框架 Dubbo,服务治理和 SOA 的设计理念开始逐渐在国内软件行业中落地,并被广泛应用。自开源后,许多非阿里系公司选择使用 Dubbo,其中既有当当网、网易考拉等互联网公司,也有中国人寿、青岛海尔等传统企业。


Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×