test
This commit is contained in:
@@ -74,7 +74,7 @@ _start_all() {
|
||||
step "第 1 组: openim-server(核心 IM 服务)"
|
||||
_start_one openim-server
|
||||
|
||||
info "等待 openim-server 将 RPC 注册到 Etcd... (8s)"
|
||||
info "等待 openim-server 初始化 standalone 内部 RPC... (8s)"
|
||||
sleep 8
|
||||
|
||||
step "第 2 组: chat RPC 服务"
|
||||
|
||||
@@ -403,7 +403,8 @@ TENCENT_SDK_SECRET_KEY=xxx
|
||||
|
||||
# 查看状态
|
||||
./deploy-test/status.sh
|
||||
# status.sh 会输出 Etcd 中已注册的 RPC 服务 key,用于排查 produced zero addresses
|
||||
# status.sh 会输出 Etcd 中已注册的独立 RPC 服务 key;
|
||||
# openim-server 内部 RPC 是 standalone 进程内注册,不要求出现在 Etcd。
|
||||
|
||||
# 重启单个后端服务
|
||||
./deploy-test/restart.sh chat-api
|
||||
|
||||
32
status.sh
32
status.sh
@@ -42,7 +42,7 @@ else
|
||||
if [[ -z "$ETCD_KEYS" ]]; then
|
||||
printf " ${YELLOW}○${NC} %-18s %s\n" "registry" "Etcd 可访问,但当前无注册 key"
|
||||
else
|
||||
KNOWN_RPC_SERVICES=(
|
||||
OPENIM_STANDALONE_RPC_SERVICES=(
|
||||
auth-rpc-service
|
||||
user-rpc-service
|
||||
friend-rpc-service
|
||||
@@ -52,22 +52,38 @@ else
|
||||
third-rpc-service
|
||||
push-rpc-service
|
||||
messagegateway-rpc-service
|
||||
)
|
||||
INDEPENDENT_RPC_SERVICES=(
|
||||
chat-rpc-service
|
||||
admin-rpc-service
|
||||
bot-rpc-service
|
||||
)
|
||||
found_rpc=0
|
||||
for svc in "${KNOWN_RPC_SERVICES[@]}"; do
|
||||
|
||||
echo -e " ${CYAN}OpenIM standalone 内部 RPC(单进程内调用,不要求 Etcd 注册):${NC}"
|
||||
for svc in "${OPENIM_STANDALONE_RPC_SERVICES[@]}"; do
|
||||
count=$(printf '%s\n' "$ETCD_KEYS" | grep -c "$svc" || true)
|
||||
if [[ "$count" -gt 0 ]]; then
|
||||
found_rpc=1
|
||||
printf " ${GREEN}●${NC} %-28s %s key(s)\n" "$svc" "$count"
|
||||
else
|
||||
printf " ${CYAN}◉${NC} %-28s %s\n" "$svc" "standalone 进程内"
|
||||
fi
|
||||
done
|
||||
|
||||
echo -e " ${CYAN}独立进程 RPC(应注册到 Etcd):${NC}"
|
||||
found_required_rpc=0
|
||||
missing_required_rpc=0
|
||||
for svc in "${INDEPENDENT_RPC_SERVICES[@]}"; do
|
||||
count=$(printf '%s\n' "$ETCD_KEYS" | grep -c "$svc" || true)
|
||||
if [[ "$count" -gt 0 ]]; then
|
||||
found_required_rpc=1
|
||||
printf " ${GREEN}●${NC} %-28s %s key(s)\n" "$svc" "$count"
|
||||
else
|
||||
missing_required_rpc=1
|
||||
printf " ${YELLOW}○${NC} %-28s %s\n" "$svc" "未注册"
|
||||
fi
|
||||
done
|
||||
|
||||
echo " ${CYAN}原始注册 key(过滤 rpc/service/openim/chat/admin 等关键词,最多 80 行):${NC}"
|
||||
echo -e " ${CYAN}原始注册 key(过滤 rpc/service/openim/chat/admin 等关键词,最多 80 行):${NC}"
|
||||
filtered_keys=$(printf '%s\n' "$ETCD_KEYS" | grep -Ei 'rpc|service|openim|chat|admin|auth|user|friend|group|msg|conversation|third|push|gateway|bot' | head -80 || true)
|
||||
if [[ -n "$filtered_keys" ]]; then
|
||||
printf '%s\n' "$filtered_keys" | sed 's/^/ /'
|
||||
@@ -75,8 +91,10 @@ else
|
||||
echo " (未匹配到 RPC 相关 key)"
|
||||
fi
|
||||
|
||||
if [[ "$found_rpc" -eq 0 ]]; then
|
||||
warn " 未发现已知 RPC 服务注册;chat-api/openim-api 调 RPC 时可能出现 name resolver error: produced zero addresses"
|
||||
if [[ "$found_required_rpc" -eq 0 ]]; then
|
||||
warn " 未发现独立进程 RPC 注册;chat-api/admin-api 调 RPC 时可能出现 name resolver error: produced zero addresses"
|
||||
elif [[ "$missing_required_rpc" -eq 1 ]]; then
|
||||
warn " 存在独立进程 RPC 未注册;如果对应 API 调用失败,请优先检查该 RPC 进程日志"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user