惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
小众软件
小众软件
V
V2EX
博客园 - Franky
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
量子位
博客园 - 【当耐特】
雷峰网
雷峰网
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog

Moon's Blog

Java内存 | Moon's Blog Spring Data JPA | Moon's Blog Spring Boot的Java Config | Moon's Blog Java知识点 | Moon's Blog Spring Boot知识点 | Moon's Blog Java异常机制 | Moon's Blog Java的类加载器 | Moon's Blog JVM类加载机制 | Moon's Blog 424.替换后的最长重复字符 | Moon's Blog 888.公平的糖果棒交换 | Moon's Blog 839.相似字符串组 | Moon's Blog 778.水位上升的泳池中游泳 | Moon's Blog 1631.最小体力消耗路径 | Moon's Blog 724.寻找数组的中心索引 | Moon's Blog 使用Jackson库实现日期序列化 | Moon's Blog 使用Jackson库实现Java多态解析 | Moon's Blog Spring Boot+InfluxDB实现日志管理 | Moon's Blog Java多态+工厂模式实现服务调用 | Moon's Blog 为Spring Boot项目生成OpenAPI3.0文档 | Moon's Blog
单体架构与微服务架构 | Moon's Blog
Moon Lou · 2021-03-09 · via Moon's Blog

单体架构与微服务架构的比较,以及服务拆分的原则。

首先,单体架构不一定比微服务架构更好,各自有其适用的场景。

单体架构适合用户量少、业务简单的初创项目,可以小成本快速试错。且由于系统模块之间的调用是进程内通信,系统整体性能表现更好

系统经过一段时间的运营后,随着用户量扩大,业务类型扩展,整个系统的业务量会变的复杂而庞大。这时系统的启动时间、重新编译时间都会非常耗时,且系统某个位置出现异常可能会导致整个系统崩溃,所谓牵一发而动全身。对一个功能的修复也需要做全盘的回归测试,并且要重新部署整个应用,使得系统的变更非常不灵活。这时候更适合使用微服务架构,将单体系统拆分为多个服务子系统,每个子系统可以独立地开发、升级维护和部署,各子系统结合业务及团队特点选择适合的技术栈,灵活性更高。但是系统模块间通信,从进程内通信变成进程间通信,所以系统响应速度会受到影响

服务拆分的原则:一般按照业务边界来拆分。比如订单管理服务、日志管理服务、商品管理服务等。

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Moon's Blog