spring cloud
常见面试题:
A、https://blog.csdn.net/panhaigang123/article/details/79587612 B、https://blog.csdn.net/qq_39089301/article/details/804762841.什么是微服务?
2.微服务之间是如何独立通信的?3.spring cloud和dubbo有哪些区别?4.spring boot和spring cloud,请谈谈你对他们的理解? spring boot专注于快速方便的开发单个个体微服务 spring cloud是关注全局的微服务协调整体治理框架,它将spring boot开发的一个个单体服务整合并管理起来, 为各个微服务之间提供:配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务 spring boot可以离开spring cloud独立使用开发项目,但是spring cloud离不开spring boot,属于依赖关系。 总结:spring boot专注于快速、方便的开发单个微服务个体,spring cloud是关注全局的服务治理框架。5.什么是服务熔断?什么是服务降级?
6.微服务的优缺点分别是什么?7.你所遇到的微服务技术栈有哪些?请列举一二。8.eureka和zookeeper都可以提供服务注册与发现的功能,请说说他们俩的区别? (最大区别)著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性)。 由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡。在此Zookeeper保证的是CP, 而Eureka则是AP。 参考:9.springcloud常用组件:一、Eureka (Netfix下) 负责服务注册与发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。二、Spring Cloud Config (Spring下) 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。三、Spring Cloud Bus (Spring下) 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。四、Ribbon (Netflix下) 提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。五、Feign (OpenFeignx下) (负载均衡)Feign是一种声明式、模板化的HTTP客户端。六、Hystrix (Netflix下) 熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。七、Zuul (Netflix下) Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。八、Spring Cloud Sleuth (Spring下) 日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。九、Spring Cloud Security (Spring下) 基于spring security的安全工具包,为你的应用程序添加安全控制。10.什么是springcloud? 简单来说:SpringCloud=分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。· Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具 例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,群集状态)。 分布式系统的协调导致锅炉板模式,使用Spring Cloud开发人员可以快速站出实现这些模式的服务和应用程序。 他们可以在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心和托管平台,如Cloud Foundry。11.Springboot与SpringCloud的关系 举个例子springboot类似于医院里的各个科室,Springcloud就像整个医院。 springboot专注于快速方便的开发单个个体微服务。 Springcloud是关注全局微服务协调治理框架,它将springboot开发的一个个单体微服务整合起来。 为各个服务之间提供,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,状态等。 springboot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖管理。12.springcloud与dubbo的对比。 详细对比地址:https://blog.csdn.net/qiumuxia0921/article/details/52713791最大区别:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式。
A、消息中间件用于解耦和分流
B、zookeeper用于服务的注册和发现C、dubbo用于服务的治理和调用D、redis的哨兵模式配置E、spring cloud 相应文档:中文网: https://springcloud.cc/ 中国社区: http://springcloud.cn/F、微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底的去耦合,每一个微服务的提供单个业务功能的服务,
一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行的单独启动或销毁,拥有自已独立的数据库。G、Eureka(有略卡):负责服务的注册与发现。
Ribbon(绿本):负责负载均衡。Feign():负责负载均衡。Feign集成了Ribbon,利用Ribbon维护了服务列表信息,并且通过轮询实现了客户端的负载均衡。而与Ribbon不同的是,通过Feign只需要定义服务绑定接口以声明式的方法,优雅而简单的实现了服务调用。Hystrix():断路器。