栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud - Alibaba总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud - Alibaba总结

1.单体,分布式,集群的概念

  • 单体的应用:所有的业务模块都是放在一个项目中写的,并没有进行拆分
  • 单体的系统: 应用和支持应用的组件(数据库,ES)都部署到同一个机器
  • 分布式应用: 将业务的模块拆分,在多台机器上进行部署.
  • 分布式系统: 应用和支撑应用的组件部署到多台机器,完成功能需要依赖分布在不同机器上的组件才能完成.
  • 集群: 将应用/系统,拷贝,同时提供功能. 一般需要配合负载均衡使用.

2.什么是微服务?

  • 将应用拆分成若干个小的模板,每个模板独立开发,部署,测试. 相互之间通过网络进行调用.

3.什么是SpringCloud,和SpringBoot有什么关系?

  • 框架的集合,微服务的解决方案. 将微服务所需要的组件都组合起来,给搭建微服务框架提供基础的组件.
  • 基础组件都是基于SpringBoot开发的.每一个微服务都基于SpringBoot进行开发.

4.注册中心Nacos

  • 服务和服务之间需要进行远程调用,注册中心管理URL和端口信息.
  • 服务启动的时候需要往注册中心注册IP和端口,同时拉取服务列表到本地缓存中。
  • 进行远程调用的时候读取本地缓存,拼接成URL,使用RestTemplate调用
  • 实现动态感知机器的上下线。 基于心跳包的机制,服务每个5秒会往注册中心发送心跳包,注册中心内部会有定时器扫描服务列表,会剔除长时间没有更新的服务列表

5.负载均衡ribbon

  • 在服务的生产者进行集群的情况下,服务器调用者可以实现负载均衡.
  • 根据远程调用的名称,在本地的缓存列表中,根据配置的负载均衡的规则,找到具体的IP和端口,然后进行调用
  • 内部自动实现的,不需要我们做任何操作,属于客户端的负载均衡

6.Feign远程调用工具

  • 远程调用服务像调用本地代码一样。
  • 使用动态代理+反射进行URL拼接,然后使用ribbon,进行负载均衡

7.服务器的雪崩

  • 由于服务和服务之间存在调用关系,由于某一个服务出问题,导致其他服务调用该服务的时候出现阻塞,最终导致资源都被耗尽,从而导致一大批服务不可用
  • 引入如下机制避免雪崩问题
    • 超时机制
    • 隔离机制
    • 限流机制
    • 熔断机制
    • 降级机制
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/979142.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号