大数跨境
0
0

人人都是架构师:框架组件要不要自研,什么时候自研?

人人都是架构师:框架组件要不要自研,什么时候自研? 二进制跳动
2025-07-13
2
导读:人人都是架构师:框架组件要不要自研,什么时候自研?


1. 创业早期应优先选用熟悉的开源框架,避免自研

  • 快速迭代优先
    早期人员少、业务简单,首要目标是快速验证业务模型,技术需服务于快速上线和迭代,选用团队熟悉的语言和框架即可,如PHP、Java、MySQL等,避免纠结复杂选型。
  • 降低初期风险和成本
    自研成本高且人员有限,且早期公司发展方向不确定,应避免大规模投入,选用成熟开源技术快速搭建基础架构。
  • 技术栈选型需具备可扩展性
    如58早期选用了微软技术栈,随着数据和并发增长,成本和性能问题凸显,后转向Java和开源技术,尽管经历阵痛,但长远看是正确选择。选择云技术及流行开源框架能减少后续大幅调整风险。

2. 业务规模扩大后需加强技术栈统一管理

  • 多团队多框架带来的问题
    随着团队和业务变多,各团队喜欢使用自己擅长的框架和访问层技术,导致跨部门调用困难,重复开发严重,技术效率急剧下降。
  • 管理技术栈统一的重要性
    需统一使用同一服务框架,统一数据库访问层,避免因框架多样化带来的重复造轮子问题,降低研发、测试和运维成本。
  • 提升效率和降低成本
    技术栈管控帮助提升整体研发效率,减少跨团队沟通障碍和技术碎片化,维护系统整体稳定性和统一性。

3. 浅层封装带来的灵活性和可维护性

  • 屏蔽底层实现,降低调用方改动成本
    通过浅层封装缓存访问接口,如58到家的KV封装memo cache和Redis,实现接口一致性,调用方无需关心底层变化。
  • 方便后续升级和功能扩展
    当缓存实现替换或新增功能(如访问时间统计、调用链跟踪)时,只需升级封装层,无需所有调用方修改,极大降低维护成本。
  • 促进统一功能快速落地
    封装层作为统一接入点,能实现全局功能统计、告警和监控,统一升级即可享受新特性,提升系统可观察性与运维效率。

4. 团队和业务进一步发展时适当自研通用组件

  • 满足个性化和协同需求
    开源库容易功能重复且东拼西凑,不能完全覆盖企业具体需求,特别是账号体系、监控告警、自动化运维等通用需求。
  • 降低运维复杂度和成本
    统一开发和维护框架组件可避免多系统间的功能重复和集成复杂,方便管理和迭代。
  • 提升整体研发效率和团队协作能力
    统一的框架和工具提升团队生产力,促进技术沉淀和复用,适应公司规模和业务复杂化发展的需求。

【声明】内容源于网络
0
0
二进制跳动
15 年 + 技术老兵 架构师|技术总监|科技创业技术合伙人 曾任职苏宁科技、电讯盈科、联想云 专注架构设计与技术落地
内容 739
粉丝 0
二进制跳动 15 年 + 技术老兵 架构师|技术总监|科技创业技术合伙人 曾任职苏宁科技、电讯盈科、联想云 专注架构设计与技术落地
总阅读284
粉丝0
内容739