java
java编程
xihuanyuye
企业级Web服务、机器学习
展开
-
定位一次java实现的WebSocketClient客户端无法收到go实现的服务端消息
这样的抽象类,在点击onMessage到回调函数处,发现最终数据是到达了参数为ByteBuffer的回调函数处。1、可以正常建立连接,客户端可以发送消息到服务端;服务端可以正常解析消息;1、首先排除底层的问题,协议建立连接过程成功,因此在网络中不存在问题;最后发现WebSocketClient抽象函数中,还存在。2、服务端发送的消息,在客户端的实现中没有收到处理;2、观察超时时间及细节,不存在连接提前断开的问题;3、采用其他语言的go的客户端进行连接,通信正常。在实现中增加该函数的实现即可。原创 2023-02-15 13:44:21 · 467 阅读 · 0 评论 -
k8s探活如何感知到java进程om
注意,该文件不可写入持久层,因为pod重启后需要该文件消失,否则会导致服务一直探活失败。原创 2022-11-09 11:29:39 · 427 阅读 · 0 评论 -
netty-grpc一次DirectByteBuffer内存泄露
当前怀疑在发送突然超过DirectByteBuffer总大小时,发生了Om,并且会导致后续一直无法回收内存。增大XX:MaxDirectMemorySize为512M,进行观察。观察到,其中buffer Pools稳定在40M+,重启后恢复。计算了一下,大概是64M,正好是jvm启动时设置的参数大小。当前应用会采用grpc大量发送数据,并且并发量并不固定。原创 2022-11-01 12:54:15 · 923 阅读 · 0 评论