WHAT - 简单服务发现

文章目录

  • 简单理解
  • 举个例子
  • 简单服务发现方式
    • [1. 静态配置(最简单,但不灵活)](#1. 静态配置(最简单,但不灵活))
    • [2. DNS 发现](#2. DNS 发现)
    • [3. 使用服务注册中心(稍高级)](#3. 使用服务注册中心(稍高级))
  • 总结

"简单服务发现"(Simple Service Discovery)通常指的是一种让系统中的服务自动找到彼此 的机制,特别在 微服务架构分布式系统 中非常常见。

简单理解

服务发现就像一个"电话本"或"联系人列表",让服务A知道如何找到服务B,而不需要硬编码IP或端口。

举个例子

假设你有两个服务:

  • 用户服务(User Service)
  • 订单服务(Order Service)

订单服务需要请求用户服务的数据,但用户服务的 IP 地址可能会变化(比如在容器环境中重启后)。

这时候就需要 服务发现系统 来告诉订单服务:"用户服务现在在这里"。

简单服务发现方式

1. 静态配置(最简单,但不灵活)

直接在配置文件里写死服务的地址:

yaml 复制代码
userService: http://192.168.1.10:8080

缺点:服务 IP 变了就要手动更新。

2. DNS 发现

服务注册在一个域名下,通过 DNS 查找:

bash 复制代码
curl http://user-service.default.svc.cluster.local

常用于 Kubernetes。

3. 使用服务注册中心(稍高级)

服务启动时自动向注册中心注册自己的地址:

  • 注册中心:Consul、Eureka、etcd、Zookeeper

  • 查询流程:

    1. 服务A向注册中心注册:我在 10.0.0.1:8080
    2. 服务B查询注册中心:用户服务在哪?
    3. 注册中心返回地址:10.0.0.1:8080

这种方式可以动态感知服务上下线,更适合大型系统。

总结

类型 描述 适合场景
静态配置 写死服务地址 小型项目、测试
DNS 服务发现 通过服务名称解析 Kubernetes 等平台
注册中心服务发现 服务自动注册和发现 微服务架构、大型系统
相关推荐
念何架构之路1 天前
接入LVS+Nginx和服务发现
nginx·服务发现·lvs
IT策士2 天前
第29篇 k8s之Service 与 Endpoints 深入:服务发现原理
容器·kubernetes·服务发现
tellmewhoisi4 天前
Docker Compose最巧妙的设计之一——内置的服务发现机制
docker·服务发现
我是唐青枫4 天前
C#.NET YARP 服务发现实战:接入 Consul 和 Kubernetes 动态发现后端服务
c#·服务发现·.net
成为你的宁宁6 天前
【Prometheus基于文件的服务发现】
服务发现·prometheus
笨鸟先飞的橘猫8 天前
skynet——服务发现学习
学习·服务发现
AI云原生12 天前
容器网络模型与服务发现:从踩坑到精通,Kubernetes 网络问题排查全指南
服务器·网络·云原生·容器·kubernetes·云计算·服务发现
日取其半万世不竭19 天前
Consul:服务发现与健康检查,微服务架构的注册中心
架构·服务发现·consul
Daorigin_com19 天前
道本科技三大系统形成的“合同—合规—法务”智能闭环!
科技·职场和发展·分类·服务发现·边缘计算·集成学习·敏捷流程
布吉岛的石头22 天前
Nacos服务发现与配置中心:微服务注册中心实战
微服务·架构·服务发现