type
status
date
slug
summary
tags
category
icon
password
springcloud是分布式系统一站式解决方案什么是分布式系统?架构分单体和分布式,集群只是一种物理形态,分布式是工作方式

基于自己的理解:分布式架构(模拟用户访问)
- 通过网关来发送各个微服务的请求(请求路由)用
gateway,网关需要对请求进行分发,所以要注册到注册中心
- 将各微服务布置到各服务器,即微服务(自治) 独立部署、数据隔离、语言无关,将不同模块部署到多个服务器,每个模块都要有副本服务器。不能让每个模块只部署到一个服务器,会出现单点故障问题:如果这个服务器崩了,那应用就不能提供完整服务了
- 如果模块跨服务器之间调用会遇到什么问题?远程调用RPC。如果远程调用怎么让应用知道调用哪个服务器的微服务。此时就需要用到nacos注册中心和配置中心,注册中心有两个功能:服务注册(监控服务上下线)和服务发现(远程调用之前要发现对方在哪)。配置中心:统一管理配置文件+推送配置的变更。
Nacos+OpenFeign
- 如果模块之间调用失败导致服务调用链整体阻塞甚至雪崩,怎么办?服务熔断(快速失败机制),及时释放资源,防止资源耗尽。
Sentinal
- 如果有一个操作需要多个数据库合作,而不同数据库部署在不同服务器,这就需要用到分布式事务。
Seata
前期准备

导依赖

这个 负责管理pom 不写代码 讲src目录删掉
创建service子模块
这个 负责管理微服务的 不用写代码 用packaging 标签来指定 然后引用 nacos 和openfeign在这个 模块下创建 service-product 和 service-order子模块,等创建完之后 刷新pom文件 查看service-product和service-order 是否引入父模块组件

- 作者:NotionNext
- 链接:https://tangly1024.com/article/244db897-8f81-80eb-9a7c-cebdfd4b6c5a
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。





