初识微服务

目录

[一、单体结构 VS 分布式结构](#一、单体结构 VS 分布式结构)

二、微服务简介


一、单体结构 VS 分布式结构

单体结构:将所有功能集中在一个项目开发,打包部署。

优点:架构简单,部署成本低;

缺点:耦合度较高。

分布式结构:根据业务功能的具体功能对系统进行拆分,每个业务模块作为独立的项目开发,称为一个服务。

优点:耦合度低,便于业务拓展。

缺点:架构复杂,运维、监控以及部署的难度大。

二、微服务简介

微服务是一种经过良好架构设计的分布式架构方案

微服务架构特征:

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发;
  • 面向服务:微服务对外暴露业务接口;
  • 自治:团队独立、技术独立、数据独立、部署独立;
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题。

微服务注意点:

  1. 微服务需要根据业务模块拆分,做到单一职责,不要重复开发相同业务
  2. 微服务可以将业务暴露为接口,供其它微服务使用
  3. 不同微服务都应该有自己独立的数据库

微服务调用方式:基于RestTemplate发起的http请求实现远程调用,http请求做远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可。

服务调用关系:

服务提供者:暴露接口给其它微服务调用

服务消费者:调用其它微服务提供的接口

提供者与消费者角色其实是相对的,一个服务可以同时是服务提供者和服务消费者

相关推荐
阿里云云原生15 分钟前
万联智策基于 AgentCore 构建数字员工团队,800+智能体规模化落地
云原生
Dawson Zhu42 分钟前
Queen Planner深度解析:Agent竞争从模型时代进入系统时代
人工智能·语言模型·架构·aigc·agi
孟健1 小时前
我用 REA 逆向自己的 Electron 桌面端,扒出 178 个 IPC 通道后我反而放心了
架构·开源·ai编程
猫猫不是喵喵.1 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
分布式存储与RustFS2 小时前
群晖 NAS 被 C3RB3R 锁了:本地备份一起被加密,RustFS 对象锁为什么删不掉
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
Cosolar3 小时前
极简智库:快速搭建你的开源项目教程阅读平台,让 docs/ 目录被更多人看见
java·架构·github
Linye3 小时前
配了 3 套 AI 规则还打架?聊聊 Agent 信源仲裁与三层验真
人工智能·架构
一条Go3 小时前
历史告警归档:为什么"删掉主库行"是最后一步
后端·架构·github
程序员敲笔记3 小时前
把 Ubuntu-22.04 从 C 盘搬到其他盘:小白操作手册
架构
htzyl2063 小时前
别急着上微前端:从 6 个场景倒推 Module Federation 2.0 与 qiankun 2.x 的选型
前端·微服务