当前位置:首页 > 服务端 > 什么是微服务?微服务简单理解

什么是微服务?微服务简单理解

2022年11月09日 16:32:07服务端16


什么是微服务

今天简单了解一下微服务,在看微服务前,先了解一下传统的单机系统。

单体系统

所有的业务子模块都集中在一个系统中,优点是便于管理,但是规模变大的时候,缺点就很明显了。
什么是微服务?微服务简单理解 _ JavaClub全栈架构师技术笔记

缺点:

1、项目过于臃肿

当产品规模越来越大,各种的大大小小模块都塞在一个项目中,必然会使整个项目变的臃肿,让开发者难以维护。

2、资源难以隔离

系统的各个功能模块都依赖于同样的数据库、内存等资源、一旦某个功能模块对资源处理不当,即可能影响整个系统。

3、扩展瓶颈模块受限

当系统的访问量越来越大的时候,单体系统可以进行水平扩展,部署多台机器。
什么是微服务?微服务简单理解 _ JavaClub全栈架构师技术笔记
但是这种扩展并不灵活,假如我们的性能瓶颈在支付上,只希望对支付模块进行水平扩展,单体系统是无法做到的。

微服务

微服务,是近年来流行起来的一种架构思想,将单个的应用拆分成一套小型服务,每种应用都是一个独立的进程,通过轻量级机制(通常为http资源api)进行通信。
这些服务围绕业务功能构建,由于进程的独立性,这些小型服务可以使用不同的编程语言、数据存储技术。

微服务的优点

1、独立部署、灵活扩展

单体架构是以整个系统作为单位部署,而微服务则可以作为一个独立的组件单独部署。
举个例子,我们都知道每年双11的爆发访问量,而且基本会集中在凌晨。
那么假如系统瓶颈在于支付模块,需要300台机器,其次是订单只需要200台,用户只需要100台机器,那么我们采用微服务的话就可以进行如下部署。同时docker的流行,也为微服务器提供了有效的容器。
什么是微服务?微服务简单理解 _ JavaClub全栈架构师技术笔记

2、资源隔离

微服务的一个重要设计原则就是每一个微服务拥有独立的数据源,假如订单服务想读取用户服务的数据库,那么只能通过操作用户服务的接口完成。
同时,docker容器也做好了资源的有效隔离。
什么是微服务?微服务简单理解 _ JavaClub全栈架构师技术笔记
相比于传统架构,微服务架构更强调的是系统按业务边界做细粒度的拆分和部署。

那么微服务架构有哪些缺点呢:

1、架构设计复杂

微服务需要把原有的系统拆分成多个独立工程,同时需要保证不同服务之间的数据一致性,引入了分布式事务和异步补偿机制,大大增加了设计和开发的难度。

2、 管理复杂

微服务拆分过细可能会出现添加一个小功能需要改动好几个工程的情况,随着服务数量的增加,管理的复杂性也会随之增加。

所以说架构设计没有什么绝对的,主要还是看场景,如果不在大厂的话,一般很难遇到复杂的微服务架构吧。

作者:青丶空゛
来源链接:https://blog.csdn.net/qq_17308321/article/details/103443527

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

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


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

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

“什么是微服务?微服务简单理解” 的相关文章

85道Java微服务面试题整理(助力2020面试)

85道Java微服务面试题整理(助力2020面试)

85道Java微服务面试题,哪些你还不会? 微服务 面试题 1、您对微服务有何了解? 2、微服务架构有哪些优势? 3。微服务有哪些特点?...

SpringCloud微服务实战-Zuul-APIGateway(十)

SpringCloud微服务实战-Zuul-APIGateway(十)

本文转自:http://blog.csdn.net/qq_22841811/article/details/67637786#准备工作 1 API Gateway 2 Zuul介绍 2.1 zuul的功能 Routing in an integral...

SpringCloud-初识微服务(一)

SpringCloud-初识微服务(一)

前言   本篇文章简单介绍一下什么是微服务、微服务的优点、SpringCloud的微服务架构核心组件选型等; 一、什么是微服务?   微服务的提出者Martin Fowler是这样描述微服务的(原文:https://martinfowler.com/articles/...

阿里老表爆肝整理10W字Java高级工程师面试精华!帮我成功入职字节(JDK源码+微服务合集+并发编程+性能优化合集+分布式中间件合集)附下载地址!

阿里老表爆肝整理10W字Java高级工程师面试精华!帮我成功入职字节(JDK源码+微服务合集+并发编程+性能优化合集+分布式中间件合集)附下载地址!

虽然现在大厂内卷现象泛滥,而且996的传统依旧肆虐。但没有哪位程序员能架得住互联网大厂的高薪职位诱惑。特别是我还有一位在阿里工作7年多的老表,在其耳旁风之下,不断将大厂描绘的美丽风景刻画在我脑海中,也让我一直有着想进大厂镀金的梦想。 所以为了完成这次进大厂的梦想,前段时间特意拜托...

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

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

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

vue-element-admin实战 | 第一篇: 移除mock接入后台微服务接口,搭建SpringCloud+Vue前后端分离的管理平台

vue-element-admin实战 | 第一篇: 移除mock接入后台微服务接口,搭建SpringCloud+Vue前后端分离的管理平台

vue-element-admin改造接入后台,搭建有来商城后台前端管理平台 一. 前言 本篇基于有来商城youlai-mall 微服务项目搭建的后台前端管理平台,技术选型Vue+element-ui实现前后端分离,解决方案选型vue-element-admin...

使用duboo仿猫眼微服务架构实战 第一天

使用duboo仿猫眼微服务架构实战 第一天

文章目录 业务架构构建 API网关介绍 API网关的具体作用 构建业务系统...

SpringCloud微服务实战——搭建企业级开发框架(三十):整合EasyExcel实现数据表格导入导出功能

  批量上传数据导入、数据统计分析导出,已经基本是系统必不可缺的一项功能,这里从性能和易用性方面考虑,集成EasyExcel。EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目,在尽可能节约内存的情况下支持读写百M的Excel:   Java解析、生成Exce...

微服务架构演进

微服务架构演进

阿里系:Duboo做服务化治理,Zookeeper服务注册中心,SpringMVC or SpringBoot基础框架 Spring Cloud栈:Spring Cloud,Netflix Eureka, Spring...

【归纳总结】微服务之Dubbo使用及常用配置

【归纳总结】微服务之Dubbo使用及常用配置

1️⃣ 将Provider注册到Registry ① 导入依赖 Ⅰ 导入dubbo依赖 <dependency> <groupId>org.apache.dubbo...

发表评论

访客

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