本文记录下接入微服务时,名字服务的使用体验以及名字服务的相关知识概念。作为“消费”侧,理解概念以帮助熟练使用工具即可,并不需要深入其中的原理。
作者:心谭 Github,腾讯云前端开发
在做网关相关需求时,用到了名字服务。第一次接触名字服务,直接通过 sdk 调用 api,传入服务的名字,就能拿到有效的服务地址(由 ip+host 组成)。
在代码中,可以去掉之前的名称 => ip
映射相关的配置,对于不同环境下的后端服务(例如开发、测试、正式),也可以通过命名空间来进行解决。
调用方得到的 ip:host 地址,是已经负载均衡的,“智能”地从服务地址列表中获取到当前合适的地址。作为调用侧,代码无感。
调用方调用完成后,将调用成功状态、消耗时间上报名字服务中心,服务中心会更智能地对服务实例进行调整。
在微服务架构下进行服务治理,解决负载均衡、服务注册、服务发现、服务熔断、动态路由、限频限流等问题。
在名字服务中,有三个角色:调用方、服务提供方、名字服务中心。
对服务提供方来说,它的主要功能是:
对调用方来说,它的主要功能是:
对名字服务中心,它的主要功能是: