当前位置:首页 > 服务端 > 【微服务架构】微服务的简介

【微服务架构】微服务的简介

2022年11月09日 21:16:44服务端20

微服务是什么?

2012年,“微服务架构”这个术语出现了,直到2014年才开始被关注。微服务是一种架构风格,一种将软件应用程序设计为可独立部署的服务套件的特定方式。虽然这种架构风格没有确切的定义,但是从名称看来,微服务注重的是“微”,注重的是“服务”,围绕业务能力,自动化部署,端点智能以及语言和数据的分散控制等方面存在着某些共同特征。

“微服务” - 近几年来是一个新名词,许多项目在过去几年中都采用了这种风格,相比往年的分模块开发和单体应用项目而言,得到的 迄今为止的结果是积极的,甚至在未来的几年中,微服务架构的理念会广为流传,成为众多公司项目的首选。因此对于很多互联网公司来说,微服务架构将会成为构建企业应用程序的默认风格。

简单来说,微服务架构是一种将单体应用程序当中的各种功能拆分为各个不同的服务,每个服务部署成一个项目独立运行,各个服务之间是松耦合的,每个服务只关注自己本身的功能。每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API)进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。

可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程,减少了单体应用时期一项报错整体瘫痪的情况。

微服务的优点

微服务架构模式有许多非常好的地方。

  • 第一,微服务解决了复杂问题。它把庞大的单体应用程序分解成一整系列的服务。虽然功能数量不变,但是程序被分解成可管理的块或者服务。每个服务都有一个明确的功能边界,如远程过程调用(RPC)驱动或消息驱动
    API。微服务架构模式强制一定程度的模块化,实际上,使用单体代码来实现是极其困难的。因此,使用微服务架构模式,项目整体逻辑更加清晰,更容易理解与维护,减少了企业中新人维护老项目无从下手的尴尬情况。
  • 第二,微服务架构使项目中分离的每个服务都可以由一个团队独立专注开发。开发者可以自由选择任何符合服务 API
    契约的技术。这样的开发方式可以较好的避免混乱的开发状态,
    这种自由意味着开发人员不再有可能在这种自由的新项目开始时使用过时的技术。当编写一个新服务时,他们可以选择当前的技术。此外,由于服务较小,使用当前技术重写旧服务将变得更加可行。
  • 第三,微服务架构模式可以实现每个微服务独立部署。开发人员根本不需要去协调部署本地变更到服务。这些变更一经测试即可立即部署。比如,UI团队可以执行 A|B 测试,并快速迭代 UI 变更。微服务架构模式使得持续部署成为可能,为后期项目的持续部署打下基础。

作者:不想当程序汪的第N天
来源链接:https://blog.csdn.net/qq_36525300/article/details/89140915

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/69159.html

标签: 微服务
分享给朋友:

“【微服务架构】微服务的简介” 的相关文章

RabbitMQ(三) 微服务 RabbitMQ 入门案例

RabbitMQ(三) 微服务 RabbitMQ 入门案例

一、创建案例项目  打开 https://start.spring.io/  ,在“Dependencies”中搜索RabbitMQ和web,生成spring-boot项目 点击生成按钮,即下载了一个包含RabbitMQ的项目。...

微服务bug之:openFeign远程调用返回类型转换异常

微服务bug之:openFeign远程调用返回类型转换异常

    楼主是在使用easyexcel导出的时候,获取数据出现这个错误,因为Spring底层是这样处理的使用LinkedhashMap来承接查询结果,导致转换异常 public List<NeedAllocationEnti...

【微服务】之三:从零开始,轻松搞定SpringCloud微服务-配置中心

【微服务】之三:从零开始,轻松搞定SpringCloud微服务-配置中心

在整个微服务体系中,除了注册中心具有非常重要的意义之外,还有一个注册中心。注册中心作为管理在整个项目群的配置文件及动态参数的重要载体服务。Spring Cloud体系的子项目中,Spring Cloud Config子项目就是该注册中心。在整个分布式框架系统中,充当重要角色。...

为什么选择Spring Boot作为微服务的入门级微框架

为什么选择Spring Boot作为微服务的入门级微框架

1. Spring Boot是什么,解决哪些问题      1) Spring Boot使编码变简单      2) Spring Boot使配置变简单      3) S...

微服务测试前置知识—Window版本的RabbitMQ安装

微服务测试前置知识—Window版本的RabbitMQ安装

RabbitMQ安装 RabbitMQ和redis一样安装在Linux的虚拟机上效果会好一些。因为没有系统的学习过,这一次我选择安装window版本的RabbitMQ 在系统学习的时候在去使用centos来进行安装。 RabbitMQ是...

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

Springboot整合dubbo(一):搭建一个springboot + dubbo的微服务

现在越来越多的公司开发项目中使用了springboot作为搭建服务的框架,因为springboot集成了一套完整项目所需要的基本的开发工具的jar包,无需再像之前开发一个spring项目中需要引入各种配置,只需要引入简单的几个配置就能达到项目的启动,大大减少了开发周期,使开发越来...

SpringCloud微服务笔记-Nginx实现网关反向代理

SpringCloud微服务笔记-Nginx实现网关反向代理

背景 当前在SpringCloud微服务架构下,网关作为服务的入口尤为重要,一旦网关发生单点故障会导致整个服务集群瘫痪,为了保证网关的高可用可以通过Nginx的反向代理功能实现网关的高可用。 项目源码:https://github.com/taoweidong/Micro-...

微服务注册与发现之Nacos:failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848])

微服务注册与发现之Nacos:failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848])

一 概述 具体错误信息:failed to req API:/nacos/v1/ns/instance after all servers([127.0.0.1:8848]) tried: failed to req API:127.0.0.1:8848/naco...

用SpringCloud进行微服务架构演进

用SpringCloud进行微服务架构演进

  在《架构师必须要知道的阿里的中台战略与微服务》 中已经阐明选择SpringCloud进行微服务架构实现中台战略,因此下面介绍SpringCloud的一些内容,SpringCloud已经出来了很多年,网上资料一大堆,这里推荐 程序猿DD 的博客http:...

Nacos(阿里的微服务平台)基本概念和配置、运行

Nacos(阿里的微服务平台)基本概念和配置、运行

一、Nacos基本概念(阿里的微服务平台) 具体详见:什么是 Nacos 二、可能会碰到的问题和解决方法: 1、Nacos下载后,copy到C盘或其它不包括中文的路径中; 2、Please set the JAVA_HOME variable in...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。