微服务架构的原理

微服务架构的原理

注册中心的原理

  1. 服务注册表:服务注册表示注册中心的核心,它用来记录各个微服务的信息,例如微服务的名称,ip,端口,服务注册提供查询API和管理API,查询API用于查询可用的微服务实例,管理API用于服务的注册与注销。
  2. 服务注册与发现:服务启动后,向注册中心注册自己的信息。服务发现,查找注册中心中可用的微服务列表。
  3. 服务检查:注册中心使用一定的机制定时检测已注册的服务,如发现某实例长时间无法访问,就会从服务注册表移除该实例。

配置中心的原理

在服务运行之前,将所需的配置信息从配置仓库中拉去到本地服务,达到配置管理的目的

配置中心如何实现自动刷新的

  1. 配置中心Server端承担起刷新的职责。
  2. 提交配置出发post请求给server端的bus/refresh接口
  3. server端接收到请求并发送给spring cloud bus总线
  4. spring cloud bus接到消息并通过其他连接道总线的客户端
  5. 其他客户端收到通知,请求server获取最新配置
  6. 全部客户端获取到最新配置

用Zookeeper和Eureka做注册中心有什么区别

ZK保证的是CP(一致性,容错性),而Eureka则是AP(可用性,容错性)

Springcloud 和 Dubbo有哪些区别

  1. dubbo是二进制传输,对象直接转成二进制,使用RPC通信。springcloud是http通信,同时使用http协议一般会使用json报文,json再转二进制,消耗会更大。
  2. Dubbo只是实现了服务治理,而springcloud 下面几十个子项目分别覆盖了微服务架构的方方面面,服务治理只是其中一个方面,一定程度上来说,dubbo只是springcloud netfilx中一个子集

Ribbon负载均衡的原理是什么?

  1. Ribbon通过LoadBalancer接口对外提供统一的服务器(server)功能,此接口会根据不同的负载均衡策略选择合适的server返回给使用者。
  2. IRule是负载均衡策略的抽象,ILoadBalancer通过Rule的Choose方法返回给server
  3. IPing用来检测server是否可用,ILoadBalancer的实现类维护一个Timer每隔10s检测一次Server可用状态。
  4. IClinetConfig主要用户初始化各种客户端和负载均衡的配置薪资,实现类为DefalutConfigImpl

什么是Hystrix?实现的原理是什么?

Hystrix是一个延迟容错库,旨在隔离对远程系统,服务,第三方库的访问点,停止级联故障,并在不可避免发生故障的复杂分布式系统中实现快速恢复,主要靠spring aop实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值