一、前言
二、单体架构
1、概念
2、优缺点
三、微服务概述
1、微服务概念
2、微服务架构
3、微服务的优缺点
4、应用场景
四、微服务技术栈
1、技术栈
2、微服务框架
3、各种微服务框架对比
4、微服务架构图
(1)注册中心:Eureka vs Zookeeper vs Nacos
(2)配置中心:Config vs Nacos
(3)服务网关:Zuul vs Gateway
(4)微服务通信:Fegin vs Dubbo
(5)负载均衡:Ribbon vs Dubbo
(6)断路器:Hystric vs Sentinel
五、分布式相关知识
1、分布式
2、集群
3、负载均衡
六、总结
一、前言
1. 为什么淘汰了单体架构,使用微服务?
2. 集群是什么东东,和分布式有什么联系?
3. 什么是微服务,分布式,两者有什么关系?
4. 微服务之间是如何通信的
5. Spring Cloud 和 Dubbo 有哪些区别 ?
本质区别:服务之间的通信机制的不同,Dubbo是基于RPC,Spring Cloud 是基于 HTTP 的 Restful API。
6. Spring Boot 和 Spring Cloud,请你谈谈对他们的理解
7. 什么是服务熔断?什么是服务降级?
8. 微服务的优缺点分别是什么?说一下你在项目开发中碰到的坑
9. 你所知道的微服务栈有哪些?列举一二
10. Eureka和Zookeeper都可以提供服务注册与发现的功能,请说说这两个的区别?
二、单体架构
1、概念
单体架构另一种架构风格,比较原始的架构。将所有功能都部署在一个web容器中运行的系统。项目打包后,所有服务都在同一个war包中,部署在一个web容器中,共用一个数据库。
2、优缺点
(1)优点:容易测试 、容易部署
(2)缺点:
① 随着系统业务量的增加,系统过于庞大和复杂,代码都耦合在一起,代码可读性差,维护起来比较难。
② 因为应用太大,每启动一次都需要很长的时间,因此从编辑到构建、运行再到测试这个周期花费的时间越来越长,开发效率低。
③ 后续增加新的业务,不能做到按需扩展,只能扩展整个系统,扩展性不高。
④ 会因为一个模块的错误导致整个系统宕机,稳定性不高。
⑤ 部署不灵活,修改了某个模块的代码,需要将整个系统重新构建部署。
⑥ 随着系统用户量的增加,用户高并发访问数量有限。
三、微服务概述
1、微服务概念
简单的来说,就是将一个系统的不同模块转变成不同的服务,每一个服务只负责一件事。微服务强调的是一个个的个体,每一个个体