SpringCloud学习笔记(一)认识微服务

1.认识微服务

1.1 单体架构

将业务所有功能集中在一个项目中开发,打成一个包部署

优点:

  • 架构简单
  • 部署成本低

缺点:

  • 耦合度高(维护困难、升级困难)

1.2 分布式架构

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

优点:

  • 降低服务耦合
  • 有利于服务升级和拓展

缺点:

  • 服务调用关系错综复杂

1.3 微服务

1.3.1微服务的架构特征:

  • 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责
  • 自治:团队独立、技术独立、数据独立,独立部署和交付
  • 面向服务:服务提供统一标准的接口,与语言和技术无关
  • 隔离性强:服务调用做好隔离、容错、降级,避免出现级联问题

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

1.3.2微服务架构的构成元素:

  • 服务集群将一个服务拆分成不同的模块组件,而每个拆分的模块组件都要遵循单一职责的原则以及面向服务,对外暴露接口。
  • 注册中心记录微服务集群中每一个服务的ip、端口、以及功能等。负责拉取或注册服务信息。
  • 配置中心可以统一的管理整个服务群里的配置,可以实现配置的热更新。
  • 服务网关对访问发起者的身份的校验,并且把用户的请求路由(负载均衡)到具体的服务上。
  • 分布式缓存为了应付高并发的数据访问,将用户需求首先放置于分布式缓存中,未命中之后再去数据库中查询。
  • 分布式搜索是将数据分散存储在多台独立的设备上。利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息。
  • 消息队列是一种先进先出的队列型数据结构,实际上是系统内核中的一个内部链表。通过消息队列实现事件总线,基于事件和状态构建微服务和工作队列的调度与执行机制。
  • 分布式日志服务统计整个集群中所有服务的运行日志,统一的进行存储和分析等。
  • 系统监控链路追踪实时监控和追踪每个服务节点的运行状态、CPU的负载、内存的占用等。
image-20230630100644703
原图找不到了先拿笔记上的图凑合下

1.4 SpringCloud

SpringCloud是目前国内使用最广泛的微服务架构。SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。

202304012144510

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注