springCloud网上搜罗面试题

  • 微服务

    微服务架构是一种架构模式或者风格,它将单一的应用程序拆分为一组小服务,各个服务之间相互独立,每个服务专注于自己的功能,服务之间互相调用、互相配合,服务之间通常采用RestFul API方式进行通讯。特点就是麻雀虽小五脏俱全。

  • 微服务的优缺点

优点

  • 每个微服务可以被不用团队单独开发,开发效率高
  • 服务专注于单个功能,代码清晰更容易理解
  • 方便服务拓展

缺点

  • 运维难度加大
  • 服务之间通信、以及数据一致性问题

 

SpringCloud和Dubbo区别

  •     SpringCloud和Dubbo都是主流的微服务框架,不过SpringCloud使用的公司越来越多了。
  •     SpringCloud是Spring旗下的微服务解决方案,Dubbo是阿里旗下的分布式服务治理框架。
  •     Dubbo的服务调用使用的是RPC远程调用,SpringCloud是Rest API ,更符合微服务的定义。
  •     Dubbo的服务注册中心是Zookeeper,SpringCloud的注册中心是Eureka,不推荐使用其它的工具。
  •     Dubbo没有实现服务网关,只能通过第三方技术整合,SpirngCloud有Zuul路由网关,进行消费者请求的分发。
  •     SpringCloud还支持服务降级、服务熔断,与git集成进行分布式配置

dubbo由于采用二进制传输,而cloud是http协议传输,所以dubbo的传输效率更高。

dubbo是强依赖,而cloud是一种规范,所以cloud需要做好管理来规范接口的升级

dubbo开发麻烦一点,无论是jar版本的引用还是组件的使用

  • Rest和RPC

    RPC的缺点就是服务提供方和调用方之间的强依赖,而REST的服务方与提供方不存在代码上的耦合,而是一个接口规范,比RPC更灵活。

 

  • Eureka和Zookeeper区别
  1.     Zookeeper保证的是CP,而Eureka保证的是AP。 Zookeeper在选举期间注册服务瘫痪,选举期间服务不可用,Eureka的节点之间是平等关系,只要有一台Eureka存活,服务就可用,不过数据缺不一定是最新的。
  2. Zookeeper有领导者、跟随者关系,而Eureka各个节点平等
  3. ZookeePer是过半存活,Eureka有分区机制。

 

  • Eureka原理

    Eureka包含两个组件Eureka Server 和Eureka Client

    Eureka Server提供了服务注册、心跳服务、服务剔除、服务下线、集群同步等功能。它会在节点启动后,去其它节点拉取注册信息保存到本地,然后将信息注册给自己。当有客户端进行注册的时候,它会将服务进行注册,然后同步给其它节点。同时它会提供心跳服务检测服务是否存活,如果服务没有主动下线,并且没有进行心跳签约,那么在关闭保护模式的情况下会将该服务剔除。

    Eureka Client会读取与 Eureka Server交互的配置信息,封装成 EurekaClientConfig,读取自身服务实例配置信息,封装成EurekalnstanceConfig,从Eureka server拉取注册表信息并缓存到本地,它会提交信息到Server进行服务注册,同时它会开启心跳服务,以维持服务的存活状态。

 

  • 自我保护模式

    EurekaServer在一段是内没有收到某个微服务实例的心跳,当开启自我保护模式之后,EurekaServer会保护服务注册表中的细腻,不会注销该服务,当微服务恢复正常后,就会推出保护模式。它宁可保留错误的服务,也不误删健康的服务。

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值