当前位置: 首页 > Linux

单体应用-SOA-微服务趋势

时间:2023-04-06 11:24:53 Linux

1.单体应用以MVC模式构建的单体应用适用于项目初期,可以方便的进行开发、部署和测试。随着业务的增长和访问量的增加,单体应用存在的问题也会暴露出来。单体应用程序的维护:在单体应用程序中,大部分逻辑都部署在集中的单一环境或服务器中。单体应用程序通常很大,由一个或多个团队维护。庞大的代码可能会增加开发人员的开发成本。开发过程中使用的开发环境和容器不堪重负,降低开发效率。部署:单个应用需要编译,部署时间长。一个小小的修改就可能导致整个项目的编译和部署。资源控制:在单体应用中,当请求量过大,单台服务器无法支撑时,一般将单体应用部署在多台服务器上,形成服务集群,通过Nginx反向代理实现负载均衡。集群中的每一个服务都必须部署一个完整的应用,而只是部分功能在实际业务需求中被频繁使用。稳定性:如果在单体应用中出现一个小问题,可能会导致整个系统崩溃。存在问题:服务器在高并发下容易宕机二、SOA面向服务架构介绍:面向服务架构:是一种包含多个服务的设计方式,服务最终通过相互依赖提供一系列的功能,常见的框架有dubbo、webService、thrift优点:解耦,适合大型项目,多人开发缺点:网络延迟,维护复杂,无法防止服务间的过渡耦合,集成困难,编写复杂。3、什么是微服务架构?微服务是一种将复杂的应用程序拆分为多个服务模块的软件架构风格。每个模块专注于单一业务功能对外提供服务,可独立编译部署。同时,各个模块之间可以相互通信,组合起来作为一个整体对外提供服务。代码维护:微服务将这个庞大而复杂的应用程序拆分成逻辑上简单且独立的小应用程序。每个应用程序由不同的团队维护,互不干扰,并通过标准接口相互通信。部署:在微服务架构中修改一个服务,只需要重新编译部署修改后的服务模块即可。资源控制:微服务拆分出来的各个模块中,模块之间的耦合度较低。当出现问题时,影响的范围固定在这个范围内,整个系统依然是健全的。