微服务概述

简介: 单体应用与微服务架构区别

image (1).png

如上图左侧为单体应用架构。在传统单体应用中,所有功能模块都在一个工程中编码、部署,即使是集群部署,也只是单体应用的水平复制。
如上图右侧为微服务架构。在微服务架构的项目中,每个应用会按照领域模型划分进行业务、功能聚合,由此拆分后聚合的应用往往:模型高度统一、职责清晰且收敛、应用与应用(领域与领域)之间边界清晰,并且提升了每个应用的独立性、扩展性。
除了应用拆分维度,微服务架构也保证了每个应用可以使用独立语言开发、独立数据存储技术,只要能保持对外统一交互语言即可,存储模型差异如下:
image.png
见上图,应用拆分之后对应每个应用会独立、或共享一个数据库,数据库的拆分维度除了要考虑领域边界,还要更多的考虑每个数据库的QPS、TPS,避免高频写操作集中在一个DB,由此起到给数据库减压的功效。
基于上述分析,单体架构存在的问题主要集中在:功能混淆、边界模糊、维护成本高、可靠性差等角度,对于后续应用的升级、扩展同样存在瓶颈。因此随着互联网的发展,我们必须解决上述问题,而微服务就是这样一种架构模式。

相关文章
|
1月前
|
存储 Java 关系型数据库
微服务概述
微服务概述
36 1
微服务概述
|
4月前
|
Cloud Native Java Nacos
微服务注册中心-Nacos概述
该博客文章提供了对Nacos的全面概述,包括其基本介绍、与Spring Cloud集成的优势、主要功能以及如何在Spring Cloud Alibaba项目中作为服务注册中心使用Nacos。文章解释了Nacos是一个动态服务发现、配置管理和服务管理平台,支持服务发现、健康监测、动态配置、DNS服务和元数据管理。还介绍了如何下载和启动Nacos服务器,以及如何将微服务注册到Nacos中,包括修改pom.xml文件引入依赖、配置application.properties文件和使用@EnableDiscoveryClient注解开启服务注册发现功能。
微服务注册中心-Nacos概述
|
4月前
|
存储 Java 关系型数据库
微服务概述
本文介绍了微服务基本概念、演变过程,主要的原则及优缺点,最后谈到了微服务的实现方案之一,作为引文此章节偏理论知识一些。后续笔者将借助具体技术实现带领读者一起逐步实现微服务架构体系。
|
7月前
|
存储 Java 数据库
【微服务系列笔记】微服务概述
本文对比了单体应用和微服务架构。单体应用中所有功能模块在一个工程中,而微服务则按领域模型拆分为独立服务,每个服务有明确边界,可独立开发、部署和扩展。微服务允许使用不同语言和技术栈,每个服务有自己的数据库。微服务架构的优点包括易于开发维护、技术栈开放和错误隔离,但缺点包括增加运维成本、调用链路复杂、分布式事务处理困难以及学习成本高。实现微服务通常涉及SpringCloud等开发框架和Docker等运行平台。
119 2
|
7月前
|
负载均衡 监控 Java
微服务课程之SpringCloud 概述及微服务搭建
微服务课程之SpringCloud 概述及微服务搭建
84 0
|
Kubernetes jenkins 持续交付
微服务轮子项目(43) -持续集成CICD概述
微服务轮子项目(43) -持续集成CICD概述
121 0
|
消息中间件 分布式计算 搜索推荐
【KafkaStream】微服务学习笔记十一:流式计算概述&KafkaStream入门
【KafkaStream】微服务学习笔记十一:流式计算概述&KafkaStream入门
497 0
【KafkaStream】微服务学习笔记十一:流式计算概述&KafkaStream入门
|
XML 数据采集 监控
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 配置概述(上)
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 配置概述(上)
114 8
|
Dubbo 网络协议 Cloud Native
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 Dubbo通信协议设计概述(上)
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 Dubbo通信协议设计概述(上)
138 7
|
XML Dubbo 前端开发
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 配置概述(下)
带你读《Apache Dubbo微服务开发从入门到精通》—— 一、 配置概述(下)
120 4