服务治理概述

一、服务发现和注册

1.1 为什么需要服务注册和发现

在这里插入图片描述
图中,客户端的一个接口,需要调用服务A-N。客户端必须要知道所有服务的网络位置的,以往的做法是配置是配置文件中,或者有些配置在数据库中。这里就带出几个问题:

需要配置N个服务的网络位置,加大配置的复杂性
服务的网络位置变化,都需要改变每个调用者的配置
集群的情况下,难以做负载(反向代理的方式除外)
总结起来一句话:服务多了,配置很麻烦,问题多多

https://www.cnblogs.com/xiaohanlin/p/8016803.html

1.2 服务注册和发现应该提供什么功能?

服务涉及服务提供者(可简称微服务)、服务消费者、服务发现组件三方面,这三者之间的关系大致如下:

  • 微服务启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储所有的微服务信息;

  • 服务消费者从服务发现组件查询微服务的网络地址,并使用该地址调用微服务接口;

  • 微服务与服务发现组件使用某种机制(如心跳)来探活。服务发现组件如果发现长时间无法与某个微服务实例通信,会自动注销(即:删除)该实例;

  • 微服务发生变更(如实例增、减或者IP端口发生变化等)时,重新注册到服务发现组件;

  • 客户端缓存:各微服务将需要调用的服务的地址缓存在本地,并使用一定机制更新(例如定时任务更新、事件推送更新等)。这样既能降低服务发现组件的压力,同时,如果服务发现组件出问题,也不会影响到服务之间的调用。

综上,服务发现组件应具备以下功能。

  • 服务注册表:服务注册表是服务发现组件维护的数据,用来记录各个微服务的信息,如微服务的名称、IP、端口等。服务注册表提供查询API和管理API,查询API用于查询可用的微服务实例,管理API用于服务的注册和注销;

  • 服务注册与服务发现:服务注册是指微服务在启动时,将自己的信息注册到服务发现组件上的过程。服务发现是指查询可用微服务列表及其网络地址的机制,这两项能力通过对服务注册表的写入和查询来完成;

  • 服务检查:服务发现组件使用某种机制定时检测已注册的服务,如发现某实例长时间无法访问,就会从服务注册表中移除该实例。这实际是对服务注册表的删除操作。

熔断
https://www.cnblogs.com/yawen/p/6655352.html

微服务测试、集成平台泳道

https://xie.infoq.cn/article/598063f249b1a07c20d38cb5f
https://justinyangis.me/2019/02/16/swimlane/
https://developer.aliyun.com/article/688852
https://cloud.tencent.com/document/product/649/43465
https://zhuanlan.zhihu.com/p/43122658
https://jishuin.proginn.com/p/763bfbd60aad

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值