当前位置:网站首页>nacos基础(9):nacos配置管理之从单体架构到微服务
nacos基础(9):nacos配置管理之从单体架构到微服务
2022-04-23 11:18:00 【逆水行舟没有退路】
前言
nacos配置管理应用与分布式系统
从单体架构到微服务
1. 单体架构
Web应用程序早期,大部分的web工程师将所有的功能模块打包到一一起并放在一个web容器中运行,所有功能模块使用同一个数据库,同时,它还提供API和UI访问的web模块等。

尽管也是模块化逻辑,但是最总它还是会打包成一个单体应用,这种将所有功能部署在一个web容器中运行的系统就叫做单体架构。
优点:
- 开发效率高:模块之间交互采用本地调用,并节省微服务之间的交互讨论时间和开发成本
- 容易测试:IDE都是为开发单个应用而设计,容易测试,直接在本地就可以启动完整的系统
- 容易部署:运维成本小,直接打包为一个完整的包,复制到web容器之下即可运行。
缺点:
- 复杂性逐渐变高,可维护性差:所有业务部署在一起,复杂度越来越高,牵一发而动全身。
- 版本迭代速度逐渐变慢:修改一个地方就要将整个应用全部编译部署,启动时间长,回归测试时间过长。
2. 微服务
许多大型公司,通过采用微服务架构解决上面的问题。其思路不是开发一个大的单体应用,而是将其应用分解为小的,互相连接的微服务。
一个微服务一般完成某个特定的功能,比如订单服务,用户服务等。每一个微服务都是完整应用,都有自有的业务逻辑和数据库。一些微服务还会发布API给其它微服务和应用客户端使用。
比如,根据前面描述的系统可分解如下:

每一个业务模块都使用独立的服务完成,这种微服务架构模式也影响了应用和数据库之间的关系,不像传统多个业务模块共享一个数据库,微服务架构每个服务都有自己的数据库。
微服务好处:
- 分而治之,职责单一: 易于开发,理解和维护,方便团队的拆分和管理
- 可伸缩: 能够单独的对指定的服务进行伸缩
- 局部容易修改,容易替换,容易部署,有利于持续集成和快速迭代
- 不会受制于任何技术栈
版权声明
本文为[逆水行舟没有退路]所创,转载请带上原文链接,感谢
https://blog.csdn.net/u011628753/article/details/124358485
边栏推荐
- 使用 PHP PDO ODBC 示例的 Microsoft Access 数据库
- Learn go language 0x03: understand the dependency between variables and initialization order
- MySQL数据库10秒内插入百万条数据的实现
- CUMCM 2021-b: preparation of C4 olefins by ethanol coupling (2)
- Visualized common drawing (II) line chart
- After the MySQL router is reinstalled, it reconnects to the cluster for boot - a problem that has been configured in this host before
- 用curl库压缩成发送字符串为utf8并用curl库发送
- laravel-admin表单验证
- Typora operation skill description (I)
- Visualization Road (11) detailed explanation of Matplotlib color
猜你喜欢

Visual solutions to common problems (VIII) mathematical formulas

Go interface usage

ConstraintLayout布局

Mysql8.0安装指南

The songbird document editor will be open source: starting with but not limited to markdown

Upgrade the functions available for cpolar intranet penetration

语雀文档编辑器将开源:始于但不止于Markdown

On lambda powertools typescript

Constraintlayout layout

More reliable model art than deep learning
随机推荐
Cumcm 2021 - B: préparation d'oléfines C4 par couplage éthanol (2)
@Valid, @ validated learning notes
赛微微电科创板上市破发:跌幅达26% 公司市值44亿
Learn go language 0x04: Code of exercises sliced in go language journey
面向全球市场,PlatoFarm今日登录HUOBI等全球四大平台
Facing the global market, platefarm today logs in to four major global platforms such as Huobi
MySQL Router重装后重新连接集群进行引导出现的——此主机中之前已配置过的问题
Visualization Road (11) detailed explanation of Matplotlib color
Using El popconfirm and El backtop does not take effect
Mysql排序的特性详情
Promise详解
MBA-day6 逻辑学-假言推理练习题
MySQL sorting feature details
Detailed explanation of integer data type tinyint in MySQL
R-Drop:更强大的Dropout正则方法
Google Earth Engine(GEE)——将原始影像进行升尺度计算(以海南市为例)
学习 Go 语言 0x06:《Go 语言之旅》中 斐波纳契闭包 练习题代码
qt 64位静态版本显示gif
FileProvider 路径配置策略的理解
Promise details