好程序员Java培训面试进阶知识点之微服务框架,微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。随着越来越多的人加入到Java开发行列,企业对求职者的技能要求也在提高,其中微服务就是一个非常重要的门槛。接下来好程序员Java培训小编就给大家简单梳理求职面试必考的微服务框架知识。
1、微服务哪些框架
1)Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。2)它是Spring Source的产物,Spring社区的强大背书可以说是Java企业界最有影响力的组织了,除了Spring Source之外,还有Pivotal和Netfix是其强大的后盾与技术输出。其中Netflix开源的整套微服务架构套件是Spring Cloud的核心。
2、前后端分离是如何做的
在前后端分离架构中,后端只需要负责按照约定的数据格式向前端提供可调用的API服务即可。前后端之间通过HTTP请求进行交互,前端获取到数据后,进行页面的组装和渲染,最终返回给浏览器。
3、RPC的实现原理
首先需要有处理网络连接通讯的模块,负责连接建立、管理和消息的传输。其次需要有编解码的模块,因为网络通讯都是传输的字节码,需要将我们使用的对象序列化和反序列化。剩下的就是客户端和服务器端的部分,服务器端暴露要开放的服务接口,客户调用服务接口的一个代理实现,这个代理实现负责收集数据、编码并传输给服务器然后等待结果返回。
4、Dubbo的服务请求失败怎么处理
Dubbo启动时有默认的重试机制和超时机制,如果服务在限定的请求时间内没有响应,则认为本次请求失败。如果在配置的重试次数内,请求失败后Dubbo会重新发送请求,如果超过请求失败的重试次数还没有请求成功,则认为本次请求失败,抛出异常。
5、Dubbo和SpringCloud有哪些区别?
Dubbo是soa(面向服务的架构),SpringCloud是微服务架构。
Dubbo基于RPC(远程过程调用),SpringCloud是基于Restful,前者底层是tcp连接,后者是http,在大量请求的情况下,dubbo的响应时间要短于springcloud。
Dubbo的提供的功能要少于springcloud,springcloud提供了一整套的微服务治理方案,比如服务熔断,监控,追踪,配置中心等。
6、Soa和微服务架构有哪些区别?
微服务是在Soa的基础上发展而来,从粒度上来说,微服务的粒度要比SOA更细。微服务由于粒度更细,所以微服务架构的耦合度相对于SOA架构的耦合度更低。微服务的服务规模相较于SOA一般要更大,所能承载的并发量也更高。