1.0、springcloud-初步了解springcloud
首先想要掌握springcloud得要先完全掌握以下这些知识:
·数据库
·Mybatis
·Spring
·Springmvc
·Springboot
·Dubbo、Zookeeper、分布式
·Maven、Git
·Ajax、Json
来稍微回顾一下之前学的东西:
之前学的 三层架构 MVC
框架:学了Spring IOC控制反转 AOP面向切面编程
Springboot 新一代的javaee的开发标准,自动装配是其核心特征
Springcloud 微服务模块化开发~ 解决了之前 all in one 容易引发的问题
Spring Cloud 是一个生态,由很多的技术集合而成,
微服务架构来来去去其实就是为了解决下面这4个核心问题:
1、服务很多,客户端该怎么访问?
2、这么多服务,服务之间如何通信?
3、这么多服务,如何治理?
4、服务器挂了怎么办?
来说说目前用的比较多的几种技术
1.Spring Cloud NetFlix 一站式解决方案!
Api网关,zuul组件
Feign --- HttpClient --- Http通信方式,同步,阻塞
服务注册发现:Eureka
熔断机制:Hystrix
2.Apache Dubbo Zookeeper 半自动,需要整合别人的!
API:没有,找第三方组件,或者自己实现
因为Dubbo专注基于java解决RPC通信的问题
3.Spring Cloud Alibaba 一站式解决方案! 更简单
新概念:服务网格~ Server Mesh
istio
但是呢不管怎么变化、修改、升级,都万变不离其宗
1、API
2、HTTP,RPC
3、注册与发现
4、熔断机制
SpringCloud常见的面试题:
1. 什么是微服务?
2. 微服务之间是如何独立通信的?
3. SpringCloud 和 Dubbo有哪些区别?
4. SpringBoot 和 SpringCloud ,请谈谈对他们的理解
5. 什么是服务熔断? 什么是服务降级?
6. 微服务的优缺点是什么?说想爱你在项目开发中遇到的坑
7. 你所知道的微服务技术栈有哪些?请列举一二
8. eureka和zookeeper都可以提供哪些服务注册与发现的功能,请说说两个的区别是什么?