Skip to content

应用域名规则

虽然 lzcapp 都运行在独立的容器中,但是 lzcapp 中的多个 service 之间可以互相访问。下面就来介绍一下应用内各服务的域名规则

服务域名构造规则

每个容器的 service 访问遵循特定的域名格式,以确保服务间的隔离和访问控制。

单实例(单用户)应用

单实例应用 中,service 之间的访问通过以下域名格式进行:

${service_name}.${lzcapp_appid}.lzcapp
${service_name}.${lzcapp_appid}.lzcapp
  • ${service_name} :容器内部的服务名称。

  • ${lzcapp_appid} :应用的唯一 ID。

  • .lzcapp :固定的顶级域。

示例:

db.example.app.id.lzcapp
^^ ^^^^^^^^^^^^^^
|  |_____________${lzcapp_appid}
|
|________________${service_name}
db.example.app.id.lzcapp
^^ ^^^^^^^^^^^^^^
|  |_____________${lzcapp_appid}
|
|________________${service_name}

多实例(多用户)应用

如果该应用支持 多用户实例,可以通过以下格式访问特定用户的实例:

${userId}.${service_name}.${lzcapp_appid}.lzcapp
${userId}.${service_name}.${lzcapp_appid}.lzcapp
  • ${userId} :用户 ID,用于标识该用户的实例。

示例:

user42.db.example.app.id.lzcapp
user42.db.example.app.id.lzcapp

表示 user42 访问 lzcapp_appid = example.app.id 中的 db 服务。

特殊域名

  • host.lzcapp

此域名将解析到 lzc-docker 网桥。 当 lzcapp 的服务使用 host 网络模式 时。服务内容器可以 监听在 host.lzcapp 上使得其他应用可以访问到此服务。

  • _outbound

此域名将解析到懒猫微服的默认出口 IP。

  • _gateway

此域名将解析到懒猫微服所在网络的网关。

应用间网络隔离

lzcos-1.3.x 前各个应用间网络并未完全隔离,隔离后使用对应服务的域名也可以获取到 IP 地址,但是无法访问。