服务发现

服务化的普及,令软件系统得以通过分布于网络中不同机器的互相协作来复用功能

最早的服务发现可以直接依赖DNS将一个全限定名翻译为一至多个IP地址或者SRV等其他类型的记录便可

但进入微服务时代后,服务宕机 上线下线变得更加频繁 DNS就力不从心了。

服务注册与发现的实现是随zk-eureka-nacos/consul这条线过来的

服务发现共性设计

  • 服务注册:服务通过某些形式将自己的坐标信息通知到服务注册中心
  • 服务维护:服务发现框架必须能监控服务健康状况,及时剔除不健康的服务
  • 服务发现:消费者可以通过框架将服务名转为具体的坐标

在真实系统中,服务发现中心是整个系统的基础架构 如果它一挂 整个系统就完全崩溃了 所以必须进行高可用支持

20201119145641

服务发现中心有以Eureka的AP注册中心 也有以Consul为代表的CP注册中心

当然也有AP CP随时转换的Nacos

AP在出现在系统出现网络分区也能继续对外提供服务 不会影响系统操作的正确性场景下 是十分有用的

服务注册中心的实现

  • 在分布式KV存储中间件上开发自己的框架:zk,redis,etcd
  • 基础设施实现:DNS
  • 专用框架:Eureka Nacos等

results matching " "

No results matching " "

results matching " "

No results matching " "