Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

SpringCloud面试题及答案 PDF 下载


分享到:
时间:2020-09-06 08:38来源:http://www.java1234.com 作者:小锋  侵权举报
SpringCloud面试题及答案 PDF 下载
失效链接处理
SpringCloud面试题及答案  PDF 下载

 
本站整理下载:
提取码:3y81 
 
 
相关截图:
 
主要内容:

1. 什么是 spring cloud?
spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分
布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数
据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。
2. spring cloud 断路器的作用是什么?
在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发
生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,
而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故
障在分布式系统中的蔓延。
3. spring cloud 的核心组件有哪些?
 Eureka:服务注册于发现。
 Feign:基于动态代理机制,根据注解和选择的机器,拼接请求 url 地址,发起请求。
 Ribbon:实现负载均衡,从一个服务的多台机器中选择一台。
 Hystrix:提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,
避免了服务雪崩的问题。
Zuul:网关管理,由 Zuul 网关转发请求给对应的服务。
4. SpringCloud 和 Dubbo
SpringCloud 和 Dubbo 都是现在主流的微服务架构
SpringCloud 是 Apache 旗下的 Spring 体系下的微服务解决方案
Dubbo 是阿里系的分布式服务治理框架
从技术维度上,其实 SpringCloud 远远的超过 Dubbo,Dubbo 本身只是实现了服务治理,而
SpringCloud 现在以及有 21 个子项目以后还会更多
所以其实很多人都会说 Dubbo 和 SpringCloud 是不公平的
但是由于 RPC 以及注册中心元数据等原因,在技术选型的时候我们只能二者选其一,所以我
们常常为用他俩来对比
服务的调用方式 Dubbo 使用的是 RPC 远程调用,而 SpringCloud 使用的是 Rest API,其实
更符合微服务官方的定义
服务的注册中心来看,Dubbo 使用了第三方的 ZooKeeper 作为其底层的注册中心,实现服务
的注册和发现,SpringCloud 使用 Spring Cloud Netflix Eureka 实现注册中心,当然
SpringCloud 也可以使用 ZooKeeper 实现,但一般我们不会这样做
服务网关,Dubbo 并没有本身的实现,只能通过其他第三方技术的整合,而 SpringCloud 有
Zuul 路由网关,作为路由服务器,进行消费者的请求分发,SpringCloud 还支持断路器,与 git 完
美集成分布式配置文件支持版本控制,事务总线实现配置文件的更新与服务自动装配等等一
系列的微服务架构要素
从技术选型上讲~
目前国内的分布式系统选型主要还是 Dubbo 毕竟国产,而且国内工程师的技术熟练程度高,
并且 Dubbo 在其他维度上的缺陷可以由其他第三方框架进行集成进行弥补
而 SpringCloud 目前是国外比较流行,当然我觉得国内的市场也会慢慢的偏向 SpringCloud,
就连刘军作为 Dubbo 重启的负责人也发表过观点,Dubbo 的发展方向是积极适应
SpringCloud 生态,并不是起冲突
Rest 和 RPC 对比
其实如果仔细阅读过微服务提出者马丁福勒的论文的话可以发现其定义的服务间通信机制
就是 Http Rest
RPC最主要的缺陷就是服务提供方和调用方式之间依赖太强,我们需要为每一个微服务进行
接口的定义,并通过持续继承发布,需要严格的版本控制才不会出现服务提供和调用之间因
为版本不同而产生的冲突
而REST是轻量级的接口,服务的提供和调用不存在代码之间的耦合,只是通过一个约定进行
规范,但也有可能出现文档和接口不一致而导致的服务集成问题,但可以通过 swagger 工具
整合,是代码和文档一体化解决,所以 REST 在分布式环境下比 RPC 更加灵活
这也是为什么当当网的 DubboX 在对 Dubbo 的增强中增加了对 REST 的支持的原因
文档质量和社区活跃度
SpringCloud 社区活跃度远高于 Dubbo,毕竟由于梁飞团队的原因导致 Dubbo 停止更新迭代
五年,而中小型公司无法承担技术开发的成本导致Dubbo社区严重低落,而SpringCloud异军
突起,迅速占领了微服务的市场,背靠 Spring 混的风生水起
Dubbo 经过多年的积累文档相当成熟,对于微服务的架构体系各个公司也有稳定的现状

 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐