SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的 治理框架
13、什么是Hystrix断路器?我们需要它吗
=======================
由于某些原因,employee-consumer公开服务会引发异常。 情况下使用Hystrix我们定义了回退方法。如果在公开服务中发生异常,则回退方法返回一些默认值 。
如果firstPage method() 中的异常继续发生,则Hystrix电路将中断,并且员工使用者将一起跳过firtsPage方法,并直接调用回退方法。 断路器的目的是给第一页方法或第一页方法可能调用的其他方法留出时间,并导致异常恢复。可能发生的情况是,在负载较小的情况下,导致异常的问题有更好的恢复机会 。
14、说说 RPC 的实现原理
===============
首先需要有处理网络连接通讯的模块,负责连接建立、管理和消息的传输。其次需要有编解码的模块,因为网络通讯都是传输的字节码,需要将我们使用的对象序列化和反序列化。剩下的就是客户端和服务器端的部分,服务器端暴露要开放的服务接口,客户调用服务接口的一个代理实现,这个代理实现负责收集数据、编码并传输给服务器然后等待结果返回。
15、微服务的优点缺点?说下开发项目中遇到的坑?
========================
优点:
(1)每个服务直接足够内聚,代码容易理解
(2)开发效率高,一个服务只做一件事,适合小团队开发
(3)松耦合,有功能意义的服务。
(4)可以用不同语言开发,面向接口编程。
(5)易于第三方集成
(6)微服务只是业务逻辑的代码,不会和HTML,CSS或其他界
(7)可以灵活搭配,连接公共库/连接独立库
缺点:
(1)分布式系统的责任性
(2)多服务运维难度加大。
(3)系统部署依赖,服务间通信成本,数据一致 ,系统集成测试,性能监控。
16、spring cloud 和d bbo区别?
=========================
(1)服务调用方式 dubbo是RPC spri cloud Rest Api
(2)注册中心,dubbo 是zookeep r springcloud是eureka,也可以是zookeeper
(3)服务网关,dubbo本身没有实现,只能通过其他第三方技术整合,springcloud有Zuul路由网关,作为路由服务器,进行消费者的请求分发,springcloud支持断路器,与git完美集成配置文件支持版本控制,事物总线实现配置文 的更新与服务自动装配等等一系列的微服务架构要素。
17、REST 和RPC对比
==============
(1)RPC主要的缺陷是服务提供方和调用方式之间的依赖太强,需要对每一个微服务进行接口的定义,并通过持续继承发布,严格版本控制才不会出现冲突。
(2)REST是轻量级的接口,服务的提供和调用不存在代码之间的耦合,只需要一个约定进行规范。
18、你所知道的微服务技术栈?
===============
维度(springcloud)
服务开发:springboot spring springmvc
服务配置与管理:Netfix公司的Archaiusm ,阿里的Diamond
服务注册与发现:Eureka,Zookeeper
服务调用:Rest RPC gRpc
服务熔断器:Hystrix
服务负载均衡:Ri