当前位置: 首页 > news >正文

聊聊经常用的微服务

聊聊微服务

架构演变

单体架构: All in One,所有的功能模块都在一个工程里。
image.png

SOA架构: 这个架构当不当正不正,对于现在来说,有点老,甚至需要ESB,WebService之类的,基本不会使用了。

微服务架构: 微服务架构思想是马丁福勒提出的

https://martinfowler.com/articles/microservices.html

他的核心思想是这一段话:

In short, the microservice architectural style 1 is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

简而言之,微服务架构风格1是一种将单个应用程序开发为一套小型服务的方法,每个服务都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)通信。这些服务围绕业务能力构建,并可通过全自动部署机制独立部署。这些服务的集中管理最低限度,这些服务可能用不同的编程语言编写,并使用不同的数据存储技术。

  • 微服务架构是一个软件架构风格,他不是标准。
  • 将一个单体架构的产品拆分成多个服务,多个服务组成了完成的产品功能。
  • 每个服务是可以完全独立部署的,互不影响。
  • 可以采用HTTP这种轻量级的方式实现服务之间的交互。
  • 在拆分服务时,一般是按照产品的业务领域去划分不同的服务,也可以针对单个功能做成一个服务。
  • 采用DevOps的方式去做自动化部署。 (后面会学)
  • 支持采用不用的语言去构建一个完整的产品。

image.png
image.png

微服务架构:是架构思想。

微服务:拆分出来的微小的服务,比如上图中的商品服务就是一个微服务。

微服务框架:对微服务的架构思想落地的一些技术。

SpringCloud生态

官方地址: https://spring.io/projects/spring-cloud

咱们要学习SpringCloud生态里的几个技术:

  • SpringCloud Alibaba: Nacos
  • SpringCloud:OpenFeign
  • SpringCloud Alibaba:Sentinel
  • SpringCloud:Gateway
  • 链路追踪:Sleuth + Zipkin - SkyWalking(不玩)

image.png

Ps:这里只关注应用,底层源码之类的内容,这里不涉及。

http://www.dtcms.com/a/322904.html

相关文章:

  • Java 枚举解析:从基础到进阶的知识点与注意事项
  • 【完整源码+数据集+部署教程】植物生长阶段检测系统源码和数据集:改进yolo11-rmt
  • gRPC for C++ 实战全流程 —— 从零搭建到同步/异步服务
  • vw和vh:CSS中的视口相对单位
  • Linux下管道的实现
  • 第十四节 代理模式
  • Android 设置/修改系统NTP服务地址
  • 2010-2024 地级市、上市公司“信息惠民国家试点城市”DID
  • Jenkins全链路教程——条件判断与流程控制
  • 从夯到拉,锐评MC所有武器
  • RK3568笔记九十九:基于FFMPEG拉取RTSP流MPP硬解码视频显示
  • 第5章 Excel公式与函数应用指南(2):数学函数
  • 【C语言】深入探索预处理
  • 系统蓝屏,黑屏,花屏,绿屏,白屏等问题统一解决软件,驱动人生下载
  • SOLi-LABS Page-3 (Stacked injections) --39-53关
  • 在 Vue 中动态引入SVG图标的实现方案
  • spring声明式事务未提交引发的线上问题
  • Vue 3 + TypeScript:深入理解组件引用类型
  • 2025年渗透测试面试题总结-09(题目+回答)
  • 【自动化运维神器Ansible】playbook实践示例:HTTPD安装与卸载全流程解析
  • Blender 快捷键速查表 (Cheat Sheet)
  • 推荐系统学习笔记(十)多目标排序模型
  • “戴着镣铐”的AI推理:中国如何打破算力枷锁,赢得“最后一公里”?
  • Nvidia 开源 KO 驱动学习配置入门
  • 基于51单片机温湿度检测系统无线蓝牙APP上传设计
  • 化工安防误报率↓82%!陌讯多模态融合算法实战解析
  • 【前端八股文面试题】DOM常⻅的操作有哪些?
  • 深入理解对话状态管理:多轮交互中的上下文保持与API最佳实践
  • Linux 中CentOS Stream 8 - yum -y update 异常报错问题
  • 【LLM】Openai之gpt-oss模型和GPT5模型