"SpringCloud笔记:单体架构演变与架构拆分"

需积分: 0 0 下载量 68 浏览量 更新于2023-12-06 收藏 3.49MB PDF 举报
SpringCloud笔记: 在系统架构的演变过程中,最初我们接触到的是单体架构,整个系统只有一个工程,打包成war包,然后部署到单一tomcat上。这种架构的优点是结构简单、部署简单,需要的硬件资源少,节省成本。然而,单体架构也存在一些缺点,比如版本迭代慢,改动一个代码会影响全局,不能满足一定并发访问,代码维护困难等。 随着业务的拓展和公司的发展,单体架构逐渐不能满足需求。为了解决这些问题,最简单的方法是加机器,对应用进行横向扩展。然而,这种横向扩展的架构虽然暂时解决了问题,但随着用户量的增加,版本迭代慢、代码维护困难等问题仍然存在。而且,用户请求往往是读多写少的情况,需要扩容的可能只是某个模块而已,而现在是整个工程都进行了扩容,这就是一种资源的浪费。因此,我们有必要对整个工程按照模块进行拆分,拆分后的架构如下: 在这种架构中,系统被拆分成多个独立的模块,每个模块都可以独立部署和扩展。这种架构的优点是更好地满足了业务需求,每个模块可以根据需求独立扩展,减少了资源的浪费。然而,拆分后的架构也会带来一些新的挑战,比如模块之间的通信、治理和监控等问题。 为了解决这些问题,我们可以使用Spring Cloud来构建分布式系统。Spring Cloud是一套完备的分布式系统解决方案,它使用Spring Boot来简化分布式系统的开发,并提供了一系列的独立的应用程序,比如服务发现、服务调用、负载均衡、断路器、分布式配置等。使用Spring Cloud,我们可以更轻松地构建、部署和扩展分布式系统。 总之,随着业务的发展,我们需要不断地改进系统架构,以更好地满足业务需求。Spring Cloud提供了一套完备的解决方案,可以帮助我们构建更灵活、可靠和高效的分布式系统。通过对系统架构的演变过程和Spring Cloud的应用,我们可以更好地理解和应用分布式系统的相关技术,从而更好地满足业务的需求。