@SpringCloud
SpringCloud
1.说说微服务、分布式、垂直架构的区别
微服务就是把功能模块分为很多子模块,每个子模块可以单独运行(除开分布式),每个子模块既可以作为服务提供者,也可以作为服务消费者;如果不存在模块间的依赖调用关系,某个模块宕机了,并不影响其他模块的运行;如果有依赖关系,可能会出现雪崩。而单体架构就是所有功能放在一个模块中,某个功能出现问题就会导致整合项目架构无法启动,出现宕机的情况
分布式与微服务的区别:分布式一般是基于RPC的远程调用服务,可以理解为服务提供者暴露的service层,微服务更加灵活,一般基于http通信的,可以理解为服务提供者暴露的controller层
2.远程调用服务的方式有哪些?分别说明
常见的远程调用方式有以下几种:
-
RPC:Remote Produce Call远程过程调用,类似的还有RMI(Remote Method Invocation,远程方法调用)。自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在热门的dubbo,都是RPC的典型
-
Http:http其实是一种网络传输协议,基于TCP,规定了数据传输的格式。现在客户端浏览器与服务端通信基本都是采用Http协议。也可以用来进行远程服务调用。缺点是消息封装臃肿。现在热门的Rest风格,就可以通过http协议来实现。
3.什么是RPC
RPC,即 Remote Procedure Call(远程过程调用),是一个计算机通信协议。 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。
说得通俗一点就是:A计算机提供一个服务,B计算机可以像调用本地服务那样调用A计算机的服务。
4.远程调用服务过程中的序列化如何实现
5.SpringCloud和SpringBoot的关系?
Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具;
Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,属于依赖的关系。
6.Sprinfcloud组件有哪些
7.SpringCloud Gateway是什么?
网关:用来统一接收访问请求鉴权后再转发给各个微服务
1.统一了微服务的访问入口,减少了微服务受攻击的面积
2.统一了跨域的配置
3.统一了日志的记录方便监控
4.统一了鉴权的配置
5.限流控制(令牌桶算法)
8.SpringCloud Gateway路由组成分别是?
- Route:路由网关的基本构建块。它由ID,目的URI,断言(Predicate)集合和过滤器(filter)集合组成。如果断言聚合为真,则匹配该路由。
9.网关与过滤器有什么区别?
网关是对所有服务的请求进行分析过滤,过滤器是对单个服务而言
10.为什么我们选择GateWay?
1.netflix不靠谱,迟迟不发布
因为Zuul1.0已经进入了维护阶段,而且Gateway是SpringCloud团队研发的,是亲儿子产品,值得信赖。而且很多功能Zuul都没有用起来也非常的简单便捷。
Gateway是基于异步非阻塞模型上进行开发的