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 等平台
注册中心服务发现 服务自动注册和发现 微服务架构、大型系统
相关推荐
九皇叔叔2 天前
【04】微服务系列 之 Nacos 注册中心(服务发现)
java·微服务·nacos·服务发现
jiayong239 天前
Kubernetes 网络与服务发现面试题详解
网络·kubernetes·服务发现
努力也学不会java10 天前
【Spring Cloud】 服务注册/服务发现
人工智能·后端·算法·spring·spring cloud·容器·服务发现
廋到被风吹走10 天前
【配置中心】Nacos 配置中心与服务发现深度解析
开发语言·服务发现·php
MengFly_14 天前
Java广播 —如何利用广播做服务发现
java·网络·服务发现
rchmin18 天前
Nacos服务与配置管理平台介绍
架构·服务发现·配置管理
oMcLin21 天前
如何在 CentOS 7.9 上配置并调优 Docker Swarm 集群,确保跨多个节点的高效服务发现与负载均衡?
docker·centos·服务发现
喵叔哟22 天前
19.服务集成与通信
后端·docker·容器·服务发现
喵叔哟1 个月前
15.故障排查与调试
后端·docker·容器·服务发现
没有bug.的程序员1 个月前
Spring Cloud Gateway 架构与执行流程:从原理到性能优化的深度探索
微服务·云原生·eureka·性能优化·架构·sentinel·服务发现