当前位置: 首页 > 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.xdnf.cn/news/1265257.html

相关文章:

  • Baumer高防护相机如何通过YoloV8深度学习模型实现火星陨石坑的检测识别(C#代码UI界面版)
  • 集成电路学习:什么是RQT图形用户界面工具
  • 智慧园区误报率↓76%:陌讯多模态融合算法实战解析
  • 智能情趣设备、爆 bug:可被远程操控。。。
  • 计算机网络:如何将/22的CIDR地址块划分为4个子网
  • 前端视角下关于 WebSocket 的简单理解
  • rosrun 和 roslaunch 区别
  • [激光原理与应用-205]:光学器件 - LD与DFB的比较
  • JavaWeb03——javascript基础语法
  • 微信小程序功能 表单密码强度验证
  • 从浅拷贝到深拷贝:C++赋值运算符重载的核心技术
  • v-model双向绑定指令
  • Selenium + Python + Pytest + Yaml + POM
  • Linux网络--2、Socket编程
  • 自由学习记录(79)
  • Pytest项目_day08(setup、teardown前置后置操作)
  • NY128NY133美光固态闪存NY139NY143
  • No time to train! Training-Free Reference-Based Instance Segmentation之论文阅读
  • 笔试——Day32
  • 【ros-humble】2.自定义通讯接口发布者python,qt使用(话题)
  • 使用 ast-grep 精准匹配指定类的方法调用(以 Java 为例)
  • V4L2摄像头采集 + WiFi实时传输实战全流程
  • 汇编语言和高级语言的差异
  • 【从0到1制作一块STM32开发板】6. PCB布线--信号部分
  • 【ESP32-menuconfig(1) -- Build Type及Bootloader config】
  • FreeRTOS入门知识(初识RTOS)(一)
  • WinForm 实战 (进度条):用 ProgressBar+Timer 打造动态进度展示功能
  • BBH详解:面向大模型的高阶推理评估基准与数据集分析
  • TyDi QA:面向语言类型多样性的信息检索问答基准
  • 柠檬笔试——野猪骑士