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

Spring Cloud 01 - 微服务概述

微服务概述

文章目录

  • 微服务概述
    • 一:分布式和微服务
      • 1、什么是微服务?
      • 2:什么是分布式
      • 3、联系与区别是什么?
    • 2:最终技术搭配方案

一:分布式和微服务

1、什么是微服务?

微服务架构是团队面对互联网产品爆发式增长的最优选择,解决快速迭代、高可靠和高可用等问题

把复杂度很高的产品拆分成一些较小的模块,并遵循康威定律

每一个模块用5-9个小团队来维护,减少沟通成本提高协作效率更好地实现快速迭代和弹性扩展。

采用微服务架构改造引入各种复杂性,如部署工作量的增加、复杂链路的监控难题,为微服务而微服务只会得不偿失。

在实施的过程中不能简单的使用某些个微服务框架或者组件一蹴而就,而是需要将业务、技术和运维有机结合起来配合同步实施,并在此过程中还需要趟过很多的坑才能够取得成功。

复杂业务拆分可能无法一步到位,因为复杂每个业务并不一定只能拆成一个组件,庞大的业务拆分出相对独立和庞大的业务,但如果业务较小而又比较多,且类型相似也可以不用着急拆分。

2:什么是分布式

对于分布式架构根据设计期的架构思想和运行期的不同结构分为:面向服务架构、分布式服务架构、微服务架构。

1、面向服务架构︰以业务服务的角度和服务总线的方式(一般是WebService与ESB)考虑系统架构和企业IT治理;

2、分布式服务架构:基于去中心化的分布式服务框架与技术,考虑系统架构和服务治理;

3.微服务架构:微服务架构可以看做是面向服务架构和分布式服务架构的拓展,使用更细粒度的服务和一组设计准则来考虑大规模的复杂系统架构设计。

统的企业集成领域的EAI架构模式,本身还是各个系统独立部署,但是各系统之间的部分业务使用特定的技术打通,因此可以看做是单体和分布式之间的过渡状态。

3、联系与区别是什么?

先理清楚五个概念

  • 分布式:分散压力;不同模块部署在不同服务器上;
  • 微服务:分散能力。
  • 分布式作用:分布式解决网站高并发带来问题;
  • 集群:相同的服务; 多台服务器部署相同应用构成一个集群;

总结:分布式是个工作方式,微服务是一种架构风格

都是将同一个大系统中不同的子模块进行分开部署。

已达到一个低耦合,提高并发量,提高系统可以水平伸缩的能力,同时它们和其他模块之间通讯也都是基于rpc进行通讯调用。

微服务是一个单独的服务包含了一个服务从控制层到业务层到持久层该有的东西它都必须要有,前端代码也可以自己提供,并微服务的持久层数据库是私有的并不会对其他服务共享。

而分布式可以仅仅只有控制层和业务层,可以不需要自己的数据库和前端,可以和其他模块共享一个数据库。

2:最终技术搭配方案

Alibaba Nacos 替换====> Eureka + Config + Bus

位置组件名称作用
注册中心Spring Cloud Alibaba Nacos服务的发现和注册
配置中心Spring Cloud Alibaba Nacos动态配置管理
负载均衡Sprign Cloud Ribbon进行服务的负载均衡调用
声明式HTTP客户端Spring Cloud Feign调用远程服务
服务容错Spring Cloud Alibaba Sentinel / Hystrix限流,降级,熔断
API网关Spring Cloud GateWaywebFlux编程模式网关
分布式事务Spring Cloud Alibaba Seata分布式事务

http://www.kler.cn/a/536926.html

相关文章:

  • UnityShader学习笔记——动态效果
  • 阿里云cdn怎样设置图片压缩
  • 高端入门:Ollama 本地高效部署DeepSeek模型深度搜索解决方案
  • 排序算法与查找算法
  • Centos 8 离线升级openssh 9.9
  • 生产环境超实用shell脚本一
  • “无痕模式”VS指纹浏览器,哪个更安全?
  • 自定义飞书Webhook机器人api接口
  • 【vscode源码】如何编译运行vscode及过程中问题解决
  • 在 Java 中使用 JDBC 连接数据库时,DriverManager 的主要作用是什么?请简要描述其工作原理。
  • Linux在x86环境下制作ARM镜像包
  • git代理设置
  • 65.棋盘 C#例子 WPF例子
  • 计算机考研复试上机02
  • 网安三剑客:DNS、CDN、VPN
  • 一文讲解Spring中事务的传播机制
  • vue组件间的数据传递:自定义输入组件(v-model/defineModel)
  • Android显示原理
  • SqlServer查看锁表与解锁
  • 零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
  • 备赛蓝桥杯之第十五届职业院校组省赛第四题:多表单校验
  • Android开发签名校验
  • 新能源产业的质量革命:六西格玛培训如何重塑制造竞争力
  • uniapp实现人脸识别(不使用三方插件)
  • ISP代理与住宅代理的区别
  • MySQL——数据库的操作