为什么阿里不用spring

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    阿里巴巴集团选择不使用Spring框架的原因有以下几点:

    1. 性能考虑:Spring框架是一个功能强大的框架,但是同时也包含了大量的特性和功能,这会增加系统的复杂度和内存占用量。对于一家像阿里巴巴这样拥有大规模用户和并发访问量的公司来说,性能是一个关键因素。因此,他们更倾向于使用更轻量级的框架来提高系统的响应速度和吞吐量。

    2. 微服务架构:阿里巴巴基于微服务架构来构建其复杂的分布式系统。在微服务架构中,每个服务都是独立部署和运行的,而Spring框架对于每个服务都需要独立的容器和上下文。这将导致系统的开销增加,因此阿里巴巴更倾向于使用更轻量级的框架,如Dubbo和Spring Cloud。

    3. 选型与开发成本考虑:尽管Spring框架是非常受欢迎和广泛使用的框架,但是它也有一定的学习和开发成本。对于大规模的企业级系统来说,培训开发人员和维护Spring框架所需的成本可能是不可忽视的。阿里巴巴可能更倾向于使用一些简化开发和维护成本的解决方案,而不是Spring框架。

    综上所述,阿里巴巴选择不使用Spring框架主要是出于对系统性能、微服务架构和选型成本的考虑。他们更倾向于使用更轻量级和简化的框架来满足他们的需求。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    阿里巴巴集团是中国最大的互联网公司之一,它为了应对规模庞大的业务和流量,采用了自主开发的一套微服务框架Dubbo来替代Spring框架。以下是阿里选择不使用Spring的几个原因:

    1. 高性能和高扩展性:Spring框架在处理大规模并发请求时,性能和扩展性方面存在一定局限性。阿里巴巴作为一个拥有亿级用户的大型互联网公司,需要处理海量的并发请求,因此需要一个能够高效处理请求的框架。Dubbo的设计目标就是具有高性能和高扩展性,能够满足阿里的需求。

    2. 微服务架构:阿里巴巴采用了微服务架构的方式来组织和管理系统。微服务架构将复杂的系统拆分成多个独立的服务,每个服务相互之间独立运行和扩展。Spring框架虽然可以支持微服务架构,但是Dubbo作为阿里自主开发的微服务框架,更符合阿里的需求和技术栈。

    3. 分布式协调能力:阿里巴巴的业务分布在不同的地区和机房,需要有一个高效的分布式协调能力来管理各个服务之间的通信和调用。Dubbo提供了可靠的分布式服务治理和协调能力,能够满足阿里的分布式业务需求,而Spring框架在这方面相对较弱。

    4. 高可用性和容错性:阿里巴巴的业务非常依赖可用性和容错性,需要保证系统在面对故障和异常情况时能够继续正常运行。Dubbo具备高可用性和容错性,支持服务的自动熔断、容错策略和故障转移,能够帮助阿里保证系统的稳定性。

    5. 全面的生态系统支持:随着阿里巴巴的业务发展,需要与各种第三方组件和平台进行集成,比如消息队列、分布式缓存、数据库等。Dubbo具有广泛的生态系统支持,可以轻松集成各种第三方组件,使得阿里在系统建设和业务拓展方面更加灵活。

    综上所述,阿里巴巴选择不使用Spring框架,主要是因为Dubbo具有更高的性能、扩展性和分布式协调能力,能够更好地支持阿里的大规模、高并发的业务需求。此外,Dubbo还具备高可用性和容错性,并且有完善的生态系统支持,使得阿里在系统建设和业务拓展方面更加灵活。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    阿里巴巴作为中国最大的电子商务公司之一,与传统的互联网企业相比,具有独特的技术特点和需求。在开发应用程序时,选择合适的技术框架是至关重要的。尽管Spring作为一个广泛应用的Java开发框架,但阿里巴巴未必在所有项目中都使用它。以下是一些可能的原因:

    1. 技术栈多样性:阿里巴巴有许多不同的业务线和团队,每个团队独立负责自己的技术栈和选择。这种多样性可能导致一些团队选择不使用Spring,而是使用其他更适合他们需求的框架。

    2. 性能和扩展性要求:阿里巴巴作为一个大型企业,需要处理大量的并发请求和数据处理。在这样的环境中,性能和扩展性是至关重要的。有些团队可能发现Spring在某些场景下无法满足他们的性能需求,并选择了更轻量级和高性能的框架。

    3. 自研框架:阿里巴巴拥有自己的一些开源框架,比如Dubbo、RocketMQ等。这些框架往往与阿里巴巴的业务需求和技术栈更加紧密地结合在一起,可以提供更丰富和高效的功能。在使用自研框架的情况下,团队可能更愿意使用与之配套的其他框架。

    4. 简化开发流程:有些团队可能希望简化开发流程和减少依赖,特别是对于一些小型、简单的项目。在这种情况下,使用更轻量级的框架或库可能更加合适,而不必引入庞大的Spring框架。

    总的来说,阿里巴巴选择是否使用Spring取决于具体的项目需求、团队技术选型和性能扩展等因素。Spring作为一个优秀的开源框架,在很多场景下仍然是首选。然而,在某些情况下,根据业务需求和团队技术特点,选择其他框架或自研的解决方案可能更加合适。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部