# rpc错误：代码=不可用 描述=名称解析器错误：产生了零个地址

- **ID:** `go/grpc-load-balancer-no-backends`
- **领域:** go
- **类别:** network_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

gRPC负载均衡器解析器未返回后端地址，通常是由于DNS故障或服务发现问题。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 1.3 | active | — | — |

## 解决方案

1. **Verify DNS resolution for the target hostname.** (90% 成功率)
   ```
   nslookup my-service.default.svc.cluster.local
   ```
2. **Use a custom resolver with fallback addresses.** (85% 成功率)
   ```
   resolver := manual.NewBuilderWithScheme("myresolver")
resolver.InitialState(resolver.State{Addresses: []resolver.Address{{Addr: "10.0.0.1:50051"}}})
conn, _ := grpc.Dial("myresolver:///service", grpc.WithResolvers(resolver))
   ```

## 无效尝试

- **Hardcode a single backend address in the client.** — Bypasses load balancing and defeats purpose. (70% 失败率)
- **Increase DNS cache TTL.** — Does not fix missing A records. (90% 失败率)
