摘要:单体架构简介经典的层模型,即表示层业务逻辑层和数据访问层。口数据访问层用于操作数据库,用户在表示层会产生大量的数据,通过数据访问层对数据库进行读写操作。
1.1.1 单体架构简介
经典的 3 层模型,即表示层、业务逻辑层和数据访问层。
口 表示层: 用于直接和用户交互,也称为交互层,通常是网页、 UI 等。
口 业务逻辑层:即业务逻辑处理层,例如用户输入的信息要经过业务逻辑层的处理后, 才能展砚给用户。
口 数据访问层: 用于操作数据库,用户在表示层会产生大量的数据,通过数据访问层对 数据库进行读写操作。
在一个小型应用的初始阶段,访问量较小,应用只需要一台服务器就能够部署所有的资源,例如将应用程序、数据库、文件资源等部署在同一台服务器上。采用这种架构的性价比是非常高的,开发速度快,开发成本 低,只需要一台廉价的服务器。
口 业务越来越复杂,单体应用的代码量越来越大,代码的可读性、可维护性和可扩展性下降,新人接手代码所需的时间成倍增加,业务扩展带来的代价越来越大。
口 随着用户越来越多,程序承受的并发越来越高,单体应用的并发能力有限。
口 测试的难度越来越大,单体应用的业务都在同一个程序中,随着业务的扩张、复杂度 的增加,单体应用修改业务或者增加业务或许会给其他业务带来一定的影响,导致测 试难度增加。
1.1.3 单体架构使用服务器集群及存在的不足口 系统仍然为单体应用 , 大量的业务必然会有大量的代码,代码的可读性和可维护性依 然很差。
口 面对海量的用户,数据库将会成为瓶颈,解决方案将使用分布式数据库,也就是将数 据库进行分库分表。
口 持续交付能力差,业务越复杂,代码越多,修改代码和添加代码所需的时间越长。新 人熟悉代码的时间长、成本高。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/69585.html
摘要:微服务的复杂度框架知识服务于服务通信服务与服务之间相互依赖。服务的部署可选用。指服务的可用性。微服务系统通常是一个系统,即同时满足了可用性和分区容错。两阶段提交,将事务分成两部分能够大大提高分布式事务成功的概率。 主要体现在如下方面。 微服务的复杂度(框架知识、服务于服务通信、服务与服务之间相互依赖)。 分布式事务(重点)。 服务的划分(业务场景划分边界,最好无耦合,都能单独运行和替...
摘要:微服务的设计原则软件设计每一个版本都在变化,所以软件设计应该是渐进式发展。在微服务设计时,一定要考虑清楚这三个难题,从而选择合适的框架。目前比较流行的微服务框架有社区的公司的等。微服务应该具备的功能。 微服务的设计原则 软件设计每一个版本都在变化,所以软件设计应该是渐进式发展。 软件从一开始就不应该被设计成微服务架构,微服务架构固然有优势,但是它需要更多的资源,包括服务器资源、技术人员...
摘要:熔断机制为了防止雪崩效应事件的发生,分布式系统采用了熔断机制。为了解决这一难题,微服务架构引入了熔断机制。由于微服务系统是分布式系统,服务与服务之间没有任何的祸合。 1.2.1 什么是微服务 按业务划分为一个独立运行的程序,即服务单元。 服务之间通过 HTTP 协议相互通信。 自动化部署。 可以用不同的编程语言。 可以用不同的存储技术。 服务集中化管理。 微服务是一个分布式系统。 ...
摘要:口服务的负载均衡。服务的注册与发现接口管理服务注册是指向服务注册中心注册一个服务实例,服务提供者将自己的服务信息如服务名地址等告知服务注册中心。服务注册中心会提供服务的健康检查方案,检查被注册的服务是否可用。服务降级的功能。 微服务具有以下的特点。 口 按照业务来划分服务,单个服务代码量小,业务单一,易于维护。 口 每个微服务都有自己独立的基础组件,例如数据库、 缓存等,且运行在独立...
摘要:负载均衡组件是一个负载均衡组件,它通常和配合使用。和配合,很容易做到负载均衡,将请求根据负载均衡策略分配到不同的服务实例中。和配合,在消费服务时能够做到负载均衡。在默认的情况下,和相结合,能够做到负载均衡智能路由。 2.2.1 简介 Spring Cloud 是基于 Spring Boot 的。 Spring Boot 是由 Pivotal 团队提供的全新 Web 框架, 它主要的特点...
阅读 853·2021-11-19 11:29
阅读 3347·2021-09-26 10:15
阅读 2854·2021-09-22 10:02
阅读 2431·2021-09-02 15:15
阅读 1970·2019-08-30 15:56
阅读 2407·2019-08-30 15:54
阅读 2903·2019-08-29 16:59
阅读 634·2019-08-29 16:20