欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微服务是什么?它是怎么演变而来的,即微服务 Spring Boot Spring Cloud 三者之间的关系(纯概念,自用,嘎嘎)

程序员文章站 2022-06-16 08:02:28
微服务是什么?微服务架构是一种架构模式或者说一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的进程中,服务之间互相协调、互相配合,为用户提供最终的价值。微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底去掉耦合,每一个微服务提供单个业务功能,一个服务只做一件事。从技术角度讲就是一种小而独立的处理过程,类似与进程的概念,能够自行单独启动或销毁,可以拥有自己独立的数据库。相当于把原来的一个大进程拆分成了多个小进程。微服务优点:1.每个服务足够内聚,足够...

微服务是什么?

微服务架构是一种架构模式或者说一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的进程中,服务之间互相协调、互相配合,为用户提供最终的价值。

微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底去掉耦合,每一个微服务提供单个业务功能,一个服务只做一件事。

从技术角度讲就是一种小而独立的处理过程,类似与进程的概念,能够自行单独启动或销毁,可以拥有自己独立的数据库。

相当于把原来的一个大进程拆分成了多个小进程。

微服务优点:

1.每个服务足够内聚,足够小,代码容易理解。这样能聚焦一个业务功能或业务需求。

2.开发简单、开发效率提高,一个服务可能就是专业的只干一件事,微服务能够被小团队单独开发,这个小团队可以是2到5人的开发人员组成。

3.微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。

4.微服务能使用不同的语言开发

5.易于和第三方集成(如支付),微服务运行容易且灵活的方式集成自动部署。

6.微服务易于被一个开发人员理解、修改和维护,这样小团队能够更关注自己的工作成果,无需通过合作才能体现价值。

7.微服务允许你利用融合最新技术。微服务只是业务逻辑的代码,不会和HTML/CSS或其他界面组件混合,即前后端分离

8.每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一数据库。

微服务的缺点:

1.开发人员要处理分布式系统的复杂性。

技术架构演变

(1)单一应用架构

当网站流量很小时,只需要一个应用,所有功能部署在一起,减少部署节点成本的框架称之为集中式框架。

传统架构其实就是SSH或SSM,属于单点应用,把整个业务模块都会在一个项目进行开发,分为MVC架构,会拆分成控制层、业务逻辑层、数据库访问层(持久层)。

缺点:耦合度太高,一旦某个模块导致服务不可用,可能会影响到其他模块。
微服务是什么?它是怎么演变而来的,即微服务 Spring Boot Spring Cloud 三者之间的关系(纯概念,自用,嘎嘎)

(2)垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。
微服务是什么?它是怎么演变而来的,即微服务 Spring Boot Spring Cloud 三者之间的关系(纯概念,自用,嘎嘎)

(3)分布式服务架构

分布式架构是基于传统架构演变过来的,将传统的项目以项目模块拆分成多个子项目,比如:

拆分会员项目、订单项目、支付项目、优惠券项目等,每个项目都有自己的独立数据库,独立redis等。

优点:
  1、把模块拆分,使用接口通信,降低模块之间的耦合度。
  2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
  3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
  4、可以灵活的进行分布式部署。
  (并发量太大的话就要使用缓存(memcached、radis等))

缺点:

系统之间交互需要使用远程通信,接口开发增加工作量。
微服务是什么?它是怎么演变而来的,即微服务 Spring Boot Spring Cloud 三者之间的关系(纯概念,自用,嘎嘎)

(4)面向服务(SOA)架构

SOA架构代表面向服务架构,俗称服务化。通俗的理解为面向于业务逻辑层开发,将共同的业务逻辑抽取出来形成的一个服务。提供给其他服务接口进行调用,服务于服务之间调用使用rpc远程技术—Dubbo。

微服务架构

微服务架构是从SOA架构中演变过来的,比SOA架构上的粒度更加精细。让专业的人做专业的事情,目的就是为了提高效率。每个服务之间互相不受影响,每个服务必须独立部署(独立数据库、独立Redis等),微服务架构更加轻量级,采用restful风格提供的API,也就是使用HTTP协议+json格式进行传输,更加轻巧,更加适用于互联网公司敏捷开发、快速迭代产品。

微服务架构如何拆分:

1、微服务把每一个职责,单一功能存放在独立服务器中。

2、每个服务运行在单独进程中,能够单独启动或销毁。

3、每个服务有自己独立的数据库存储,实际上有自己独立的缓存、数据库、消息队列等资源。
微服务是什么?它是怎么演变而来的,即微服务 Spring Boot Spring Cloud 三者之间的关系(纯概念,自用,嘎嘎)

微服务架构与SOA架构的区别

(1)、微服务架构基于SOA架构演变过来,继承SOA架构的优点,在微服务架构中去除SOA架构中的ESB消息总线,采用http+json(restful)进行传输。

(2)、微服务架构对比SOA架构粒度会更加精细,让专业的人干专业的事情,目的是为了提高效率,每个服务于服务之间互不影响。在微服务架构中,每个服务必须独立部署,微服务架构更加轻巧、轻量。

(3)、SOA架构中可能数据库存储会发生共享,微服务强调每个服务都有独立数据库,保证每个服务于服务之间互不影响。

(4)、项目体现特征,微服务架构比SOA架构更加适合于互联网公司的敏捷开发、快速迭代版本。

微服务 Spring Boot Spring Cloud 三者之间的关系

微服务是一种架构的理念,提出了微服务的设计原则,从理论为具体的技术落地提供了指导思想。

Spring Boot 是一套快速配置脚手架,可以基于 Spring Boot 快速开发单个微服务

Spring Cloud 是一个基于 Spring Boot 实现的服务治理工具包;

Spring Boot 专注于快速、方便集成的单个微服务个体;

Spring Cloud 关注全局的服务治理框架。

本文地址:https://blog.csdn.net/zpf1813763637/article/details/109645815

上一篇: gin框架学习-dao

下一篇: urllib