微服务架构

2020-08-10  本文已影响0人  杨健kimyeung

一、前期概要

微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。

主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。

要理解微服务,首先我们先理解跟微服务相对的是单体应用,所谓的单体应用所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,而是一个逐渐演变的过程。

二、架构演进

1、单体应用

image

优点:

缺点:

存在的问题:

2、应用与数据库单独部署引入缓存

image

说明:

在服务器上加入缓存,缓存热数据。通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。主要使用使用Redis作为缓存数据库,但同时也会带来一些问题例如 、缓存穿透/击穿缓存雪崩等一系列问题

存在的问题:

3、应用集群与负载均衡

image

特点

  1. 对 Java 应用程序进行独立部署,形成 应用集群

  2. 数据库 进行独立部署;

  3. Web 集群应用集群 间通过 HTTP 协议进行交互;

  4. 应用集群数据库 间通过 JDBC 协议进行交互。

4、移动端出现与前端分离

image

随着系统访问量的持续增加,面对大量的数据读取请求,数据库有些不堪重负。

image

特点

问题

5、应用垂直拆分

随着业务的增长应用越来越大我们可以将其进行拆分,将其拆分为多个应用,每个应用独立开发、独立部署、独立维护。

image

特点

  1. 通过不同的域名或URL将整个系统分解为多个子系统;

  2. 用户通过浏览器将各子系统拼接成一个完整的系统;

  3. 各系统间存在少量交互,甚至没有交互;

存在的问题

问题慢慢展现出来,系统间公共部分没有统一维护点,同样的功能、同样的代码分布在各个系统中。

6、服务化架构

通用功能封装成一个服务,独立开发、独立部署、独立维护。将业务逻辑进行了进一步拆分

image

三、概念说明

参考

https://mp.weixin.qq.com/s/BjGSQvjLkcbISO36ZbXtRQ

上一篇 下一篇

猜你喜欢

热点阅读