SpringCloud02---SpringCloud入门概述

1. 微服务架构面临的四个核心问题

  1. 服务很多,客户端应该如何访问? --> API网关

  2. 这么多服务?服务之间如何通信? --> HTTP,RPC通信

  3. 这么多服务?如何治理? --> 服务注册与发现

  4. 服务挂了怎么办? --> 熔断机制

解决方案:Spring Cloud生态

1、SpringCloud NetFlix :一站式解决方案

  • api网关,zuul组件

  • 通信: Feign ----HttpClinet ----Http通信方式,同步,阻塞

  • 服务注册与发现:Eureka

  • 熔断机制:Hysstrix

2、Apache Dubbo Zookeeper:半自动,需要整合别人的

  • API网关:没有,需要找第三方组件,或者自己实现

  • 通信:Dubbo,异步非阻塞

  • 服务注册与发现:Zookeeper

  • Dubbo这个方案并不完善

3、Spring Cloud Alibaba 一站式解决方案,更简单

常见面试题

1.1 什么是微服务?

1.2 微服务之间是如何独立通讯的?

1.3 SpringCloud 和 Dubbo有那些区别?

1.4 SpringBoot 和 SpringCloud,请谈谈你对他们的理解

1.5 什么是服务熔断?什么是服务降级?

1.6 微服务的优缺点分别是什么?说下你在项目开发中遇到的坑

1.7 你所知道的微服务技术栈有哪些?列举一二

1.8 Eureka和Zookeeper都可以提供服务注册与发现的功能,请说说两者的区别

2. Spring Cloud 五大组件

  1. 服务注册与发现——Netflix Eureka

  2. 负载均衡:

  • 客户端负载均衡——Netflix Ribbon

  • 服务端负载均衡:——Feign(其也是依赖于Ribbon,只是将调用方式RestTemplete 更改成Service 接口)

  1. 断路器——Netflix Hystrix

  2. 服务网关——Netflix Zuul

  3. 分布式配置——Spring Cloud Config

3. SpringCloud和SpringBoot的关系

  • SpringBoot专注于开发单个个体微服务

  • SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务,整合并管理起来,为各个微服务之间提供:配置管理、服务发现、断路器、路由、为代理、事件总栈、全局锁、决策竞选、分布式会话等等集成服务

  • SpringBoot可以离开SpringCloud独立使用,开发项目,但SpringCloud离不开SpringBoot,属于依赖关系

  • SpringBoot专注于快速、方便的开发单个个体微服务,SpringCloud关注全局的服务治理框架

4. Dubbo 和 SpringCloud技术选型

最大区别:Spring Cloud 抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式

5. 参考文档

posted @ 2021-08-08 17:12  qi_chao  阅读(41)  评论(0编辑  收藏  举报