初识微服务

目录

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

二、微服务简介


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

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

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

缺点:耦合度较高。

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

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

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

二、微服务简介

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

微服务架构特征:

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

微服务注意点:

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

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

服务调用关系:

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

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

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

相关推荐
未秃头的程序猿43 分钟前
Spring Cloud Gateway 做统一加解密,我在请求体上栽了三天
java·后端·架构
咖啡八杯1 小时前
Spring MessageSource 国际化消息解析流程
java·后端·spring·架构·框架·若依
丨晨 丨1 小时前
K8s存储卷与配置管理实战
云原生·容器·kubernetes
暖核1 小时前
K8s 存储与配置:Volume PV‑PVC ConfigMap Secret 实战解析
云原生·容器·kubernetes
king13598745502 小时前
LiteRT Tensor API:C++ 编写端侧模型图,XNNPACK、GPU 与 NPU 怎么选?
开发语言·c++·人工智能·chatgpt·架构·aigc
每天一道题2 小时前
从单体到微服务:Service、Instance 与服务拆分到底是什么关系?
后端·微服务·云原生·架构
尹玉玺2 小时前
从原子残片到天道公理:以德谟克利特思想全貌,重新定界西方唯物认知的历史层级与边界
人工智能·算法·架构
海宇数据12 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化
翼龙云_cloud13 小时前
亚马逊云服务器服务代理商:Bedrock 实践经验 Serverless 架构下的 AI 自动化落地
服务器·架构·serverless·云计算·aws
烛影摇红透纱窗13 小时前
AI从零介绍代码架构的复盘(含要使用的提示词)
人工智能·架构