早期在一些大公司中,如阿里巴巴,技术团队通常分为专门处理业务逻辑的团队和专门管理数据库的团队。当时,前端开发人员主要负责页面切图工作,与设计团队紧密合作,而数据库则依赖于高端的IOE(IBM、Oracle、EMC)解决方案,并有专门的部门负责其维护和优化。


随着时间的推移,这些公司逐渐转向使用Linux和MySQL,成立了新的部门专注于数据库优化和二次开发。这些新的团队承担了原本管理IOE解决方案团队的职责,专注于提升性能和降低成本。然而,随着系统架构的不断复杂化,传统的数据库优化已不能满足所有需求,特别是对于高并发、大流量的业务场景。于是,引入了各种缓存系统和消息队列。


此时,管理MySQL和操作系统内核的技术专家对这些新技术并不感兴趣,同时将这项工作交给业务开发团队也显得不合适。为了有效管理和利用这些新技术,公司决定成立一个新的专门部门。然而,新部门的命名需要非常谨慎。如果仅仅命名为“消息队列团队”,当未来引入如Redis等主要用于存储和缓存的组件时,可能会导致部门职责不明确,影响团队的整体发展。因此,新部门的名称必须足够宽泛,以便能够涵盖未来可能涉及的所有技术领域。最终,这个新部门被命名为“中间件”部门。


“中间件”这个名称涵盖了广泛的技术范畴,包括消息队列、缓存系统、应用服务器、服务总线等多种技术组件。这个名称不仅帮助团队在内部进行明确的职责划分,也在对外展示时显得更加高大上。例如,当团队成员在新的公司中介绍自己负责“中间件”时,比起仅仅说负责“Redis”听起来更具专业性和技术深度。这也体现了一种技术团队沉淀出自己方法论的过程,通过广泛定义和深刻理解技术领域,为团队未来的发展奠定坚实基础。


这种命名策略并非阿里巴巴首创,但在其内部得到了充分利用和推广,逐渐形成了一种惯例。这也反映了在快速发展的技术行业中,公司和团队如何通过调整和重新定义职责来应对不断变化的技术需求和业务挑战。最终,“中间件”这个词在特定背景下被广泛使用,涵盖了消息队列、缓存系统以及更多技术组件,成为了技术团队中一个重要而全面的领域。