【微服务笔记(一)】之系统架构的演变(优缺点介绍)

一. 集中式架构

1. 概述

        当网站的流量很小时,只需要一个应用,将所有的功能都部署在一起,以减少部署节点和成本。

2. 优点

        开发速度快,维护成本低。

3. 缺点

        代码耦合度高,维护困难,无法水平扩展,容错率低,并发能力差。


二. 垂直拆分

1. 概述

        由于访问量逐渐增大,单一的应用无法满足需求,需要根据业务功能对系统进行拆分。

2. 优点

        系统拆分实现了流量分担,解决了并发问题,可以针对不同的模块进行优化,方便水平扩展,负载均衡,提高容错率。

3. 缺点

        系统间相互独立,有很多重复开发工作。

三. 分布式服务

1. 概述

        当垂直应用越来越多时,应用之间的交互也增多了,我们可以将核心的业务抽取出来作为独立的服务,形成基础服务中心,这样其他应用调用这些常用的服务就很方便。

2. 优点

        抽取了基础服务,提高代码的复用和开发效率。

3. 缺点

        系统间耦合度增高,调用关系复杂,难以维护。


四. 面向服务结构(SOA)

1. 概述

        包含多个服务,服务之间通过相互依赖提供一系列的功能。一个服务通常以独立的形式存在于操作系统进程中,各个服务之间通过网络调用。各个服务之间通过ESB(企业服务总线)连接,为了集成不同的服务,不同协议的服务,ESB做了消息的转化解释和路由工作,让不同的服务互联互通。

2. 缺点

        服务粒度较大,ESB集成整合所有服务和协议,数据使得部署,维护困难,且所有的服务都通过一个通道通信,降低了通信的速度。

五. 微服务架构

1. 概述

        微服务架构是使用一套小服务来开发单个应用的方式,每个服务基于单一业务能力构建,运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,并能够通过自动化部署来独立部署。这些服务可以使用不同语言,存储技术,并保持最低限度的集中式管理。

2. 流程

        终端通过一个Gateway网关来请求服务,服务通过服务注册中心进行服务注册和管理。网关是一个服务器,是系统的唯一入口,它为每个客户端提供一个定制的API,所有的客户端和消费端都是通过统一的网关接入微服务的,在网关层处理所有的非业务功能。如身份验证,监控,负载均衡,缓存,等等。网关提供RESTful/HTTP的方式访问服务。


3. 特点

        (1) 每个服务对应单一的业务。

        (2) 服务拆分粒度很小。

        (3) 每个服务只需要提供标准接口API,不论该服务如何实现。

        (4) 服务间相互独立,互不干扰。

        (5) 前后端分离,提供统一的Rest接口,后端不需要再为PC,移动端开发不同的接口。

        (6) 数据库分离,每个服务使用自己的数据源。

4. 微服务与SOA的区别

        微服务架构和SOA都是对系统进行拆分,SOA中有ESB作为中心总线,而微服务做了去中心化处理,将ESB去掉了,更加灵活,着重分散管理,而不是中央管理。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值