首页 > 编程语言 > 详细

springcloud学习总结

时间:2021-03-12 08:34:03      阅读:31      评论:0      收藏:0      [点我收藏+]

1. 什么是微服务

微服务架构:他是一种架构风格和架构思想,它倡导我们在传统软件应用架构的基础上,将系统业务按照功能拆分为更细粒度的服务。所拆分的每一个服务都是一个独立的应用,这些应用对外提供公共的API,可独立承担对外服务的职责。
技术分享图片

1.1 微服务架构的优点

  • 可独立部署
  • 复杂度可控
  • 易于扩展
  • 技术选型灵活

1.2 微服务架构的不足

  • 需要处理分布式系统所带来的复杂性
  • 部署复杂
  • 内存消耗大

1.3 微服务架构的组件

  • 服务注册中心
  • 服务注册
  • 服务发现
  • 负载均衡
  • 服务容错
  • 服务网关
  • 分布式配置中心

1.4 微服务架构的技术选型

  • 微服务实例的开发:SpringBoot
  • 服务注册与发现:Eureka,Nacos
  • 负载均衡:Ribbon
  • 服务容错:Hystrix
  • API网关:Zuul,Netty,Gateway
  • 分布式配置中心:Spring Cloud Config



2. 什么是SpringCloud

在微服务的架构体系中,SpringBoot只能用于应用开发,要想实现完整的微服务架构,还需要实现架构中的服务注册发现,API网关和负载均衡等功能。
SpringCloud:他是在SpringBoot的基础上构建的,用于简化分布式系统构建的工具集,该工具集为微服务架构中所涉及的配置管理,服务发现,断路器等提供了一种简单的开发方式。
SpringCloud中包含了多个子项目如:

  • Spring Cloud Netflix:集成了各种OSS组件,包括Eureka,Ribbon,Hystrix,Zuul,Feign等
  • Spring Cloud Config:配置管理工具,可用它实现应用配置的外部化存储等。
  • Spring Cloud Starters:SpringCloud的基础组件,是基于SpringBoot风格项目的基础依赖模块。

2.1 SpringCloud的版本

SpringCloud是根据英文字母的顺序,采用伦敦的"地名+版本号"的方式来命名的。



3. 服务发现

服务发现:用于实现各个微服务实例的自动化注册与发现。
在Spring Cloud的子项目中,Spring Cloud Netflix提供了Eureka来实现服务的发现功能。

Eureka包含了两大组件:
服务端发现组件:用于提供服务的注册功能。
客户端发现组件:用于处理服务的注册与发现。
技术分享图片
注意:Eureka服务提供者和服务消费者之间的角色是可以相互转换的,因为一个服务既可能是服务消费者,同时也可能是服务提供者。

3.1 Eureka服务发现机制

当客户端服务通过注解等方式嵌入到程序的代码中运行时,客户端发现组件就会向注册中心注册自身提供的服务,并周期性的发送心跳来更新服务(默认30S,如果连续三次心跳都不能发现服务,那么Eureka就会将这个服务节点从服务注册表中移除。)。
在客户端发现组件向注册中心注册自身提供的服务时,客户端发现组件还会从服务端查询当前注册的服务信息并缓存到本地,即使Eureka服务出现了问题,客户端组件还可以通过缓存中的信息调用服务节点的服务。

springcloud学习总结

原文:https://www.cnblogs.com/itlihao/p/14521694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!