1
chevalier 295 天前
微服务的基建之一,服务发现,了解一下
内部调用不适合走外网,如果没有服务发现基建的话,给 AB 分配个内网的域名和内部 DNS ,内部的调用走内网域名 |
2
fatyoung OP @chevalier 我理解的服务发现就是把服务注册到某一个注册中心上去,consumer 从注册中心去找 provider 。找到的这个地址 DNS 解析之后肯定是内网地址吗?会不会因为 provider 在另一个服务器里面所以解析出来一个不在当前内网的 IP ?
|
3
lsk569937453 295 天前
所以就有了 API 网关啊。所有进微服务的外部流量一律走网关。
|
4
melkor 295 天前 via iPhone
@fatyoung 找到多个 IP 很正常,一致性哈希或者随机选就行,要做负载均衡。本来微服务就不是性能最高的做法,强行选本机会导致流量不均匀,机器资源就不好分配了。
|
5
crysislinux 295 天前 via Android
一般都在一个 VPC 内部吧。跨 VPC 了就该怎么按外部请求办。
|
6
fatyoung OP @lsk569937453 服务间的调用一般是不走网关吧?
|
7
4lieS 295 天前
你说的是对的
|
8
fatyoung OP @crysislinux 意思就是说微服务里的所有服务最好都在同一个服务器内是吗? 一般都是这样的吧?
|
11
crysislinux 295 天前 via Android 1
@fatyoung 不是同一个服务器内,是在同一个虚拟网络内。地理位置在不同城市的服务器也可以在同一个内网,你想象一下 VPN 是怎么样的就大概明白了。比如在 aws 上你可以创建一个 VPC ,然后各种 balancer ,ec2 之类的都可以加入这个 VPC ,VPC 内的服务逻辑上就是在一个内网
|