EDAS 轻量配置中心,应用注册上却无法调用服务提供者

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 问题背景: 某服务突然无法调用注册在轻量配置中心的服务提供者,但登录轻量配置中心控制台是可以搜索到对应的服务,且服务提供者的 IP、端口均正确。 查看轻量配置中心日志 查看config-center.

问题背景:

某服务突然无法调用注册在轻量配置中心的服务提供者,但登录轻量配置中心控制台是可以搜索到对应的服务,且服务提供者的 IP、端口均正确。

查看轻量配置中心日志

查看config-center.log:
2018-10-09 10:01:33.479 [com.taobao.remoting.TimerThread] [ERROR] [com.alibaba.configcenter.registry.service.push.PushExecuteTask] - [push-error] 30005ms, reason=响应超时[30005]ms., GroupId[com.xxx.busi.shop.service.BusiShopService:1.0.0, sunlinqiang, non-persist], Revision=1, DataSize=0, Connection=ip:port

配置中心日志显示响应超时

查看客户端日志

1. /home/admin/logs/diamond-client/diamond-client.log
01 2018-10-09 16:26:01.028 ERROR [com.taobao.diamond.client.Worker.longPullingdefault:c.t.d.c.i.DiamondEnv] [] [] [500] longPulling error
01 2018-10-09 16:26:01.293 ERROR [com.taobao.diamond.client.Worker.longPullingdefault:c.t.d.c.i.DiamondEnv] [] [] [500] longPulling error
客户端显示拉取失败
2. /home/admin/taobao-tomcat-production-xxxx/logs/catalina.out
日志不输出

3 /home/admin/logs/hsf/hsf.log
01 2018-10-09 10:24:44.083 ERROR [HSF-Framework-AddressRefresh-4-thread-1:t.hsf] [99b83a99-9061-44a5-97ed-f1c92c8e0be9] [] [HSF-0066] consumer service [com.xxx.xx.atomic.xxerinfo.service.xxxrderInfoService:1.0.0] received empty address list! pls. double check if its associated implementation [MTConfigServerRegistry] exist or not
hsf服务获取不到地址列表,也就是与轻量配置中心的交互有问题

确定地址服务器 IP 跟轻量配置中心 IP 一致

ping jmenv.tbsite.net

没有问题

查看网络连接各状态连接数

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

image
发现有大量的time_wait

修改参数

vim /etc/sysctl.conf
添加
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
修改参数含义(参数更改from https://www.cnblogs.com/softidea/p/6062147.html):
net.ipv4.tcp_syncookies = 1表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout修改系統默认的TIMEOUT时间
使配置生效
/sbin/sysctl -p
更改后再次查看
image

time_wait减少后,服务调用正常了

这种方法只是暂时解决表面time_wait问题,但是出现time_wait的原因还需要结合代码排查

相关实践学习
使用DAS实现数据库自动SQL优化
本场景介绍如何使用DAS实现数据库自动SQL优化。
SpringMVC框架入门
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts2等。 相关的阿里云产品企业级分布式应用服务 EDAS:企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )等微服务运行环境,助力您的各类应用轻松上云。产品详情: https://www.aliyun.com/product/edas 
相关文章
|
监控 应用服务中间件
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
如下请问EDAS的这个问题怎么解决? 应用id:2b0e6935-47fb-40ec-a11d-7dac320aecc1 集群中的节点内存是足够的,部署跑不起来 可以帮忙看看吗,以前集群下应用发布都是正常的,最近集群下应用部署基本都报错跑不起来,提示节点不可用
137 2
|
Kubernetes 负载均衡 Serverless
通过EDAS部署并访问应用
本实验旨在通过使用分布式应用服务EDAS纳管容器服务ASK,掌握微服务应用的部署和访问。
|
Kubernetes Serverless 应用服务中间件
通过EDAS实现K8s微服务应用的金丝雀发布
本实验旨在通过使用分布式应用服务EDAS纳管容器服务ASK,体验微服务应用的部署、访问和高级发布能力。
|
弹性计算 Kubernetes Cloud Native
云原生微服务应用平台 EDAS 2022 年度报告
最近一年来,随着我们的客户对于云技术的诉求从资源快速交付的服务,转变为对资源精益运用的服务。EDAS 团队结合公共云上所服务的企业类客户的几万个应用,选取了 8 个最具代表性的指标,进行了一次系统性的分析整理和总结,希望可以给当前正在从事软件架构的从业人员一个侧面的视角,来了解一些当下发生在身边的技术现象。
云原生微服务应用平台 EDAS 2022 年度报告
|
弹性计算 Kubernetes Cloud Native
云原生微服务应用平台 EDAS 2022 年度报告
最近一年来,随着我们的客户对于云技术的诉求从资源快速交付的服务,转变为对资源精益运用的服务。EDAS 团队结合公共云上所服务的企业类客户的几万个应用,选取了 8 个最具代表性的指标,进行了一次系统性的分析整理和总结,希望可以给当前正在从事软件架构的从业人员一个侧面的视角,来了解一些当下发生在身边的技术现象。
408 1
云原生微服务应用平台 EDAS 2022 年度报告
|
应用服务中间件 开发者
EDAS 应用创建、启动和停止|学习笔记
快速学习 EDAS 应用创建、启动和停止
344 0
EDAS 应用创建、启动和停止|学习笔记
|
应用服务中间件 开发者
EDAS 应用部署、启动和停止|学习笔记
快速学习 EDAS 应用部署、启动和停止
631 0
EDAS 应用部署、启动和停止|学习笔记
|
弹性计算 监控 负载均衡
EDAS 应用监控|学习笔记
快速学习 EDAS 应用监控,该功能主要包括三个功能,即监控大盘、基础监控以及服务监控。
251 0
|
应用服务中间件 开发者
EDAS 应用回滚、扩容和删除|学习笔记
快速学习 EDAS 应用回滚、扩容和删除
270 0
|
Kubernetes 应用服务中间件 容器
SpringCloud迁移至EDAS微服务——Series3:在容器服务K8s集群中部署应用
SpringCloud迁移至EDAS微服务——Series3:在容器服务K8s集群中部署应用
SpringCloud迁移至EDAS微服务——Series3:在容器服务K8s集群中部署应用

热门文章

最新文章