rpc
文章平均质量分 72
Good_Yin
这个作者很懒,什么都没留下…
展开
-
feign学习
前言Feigin是一个声明式HTTP客户端,让编写HTTP客户端变得简单。也就是服务之间的调用变得简单。他使用自定义接口,然后在上面添加注解,感知上就像调用一个接口一样。官网介绍Feigin灵感来源于Retrofiit、JAXES-2.0和WebSocket,它旨在通过最少的资源和代码来实现HTTP Client能力,并且通过可定制的解码器和错误处理,编写任意的HTTP API。[https://github.com/OpenFeign/feign](https://github.com/Ope原创 2021-09-28 22:30:06 · 687 阅读 · 0 评论 -
一次Rpc调用报错排查
前言前几天一个接口rpc调用忽然一时间报错十几次,报错信息是反序列化错误,经过排查是因为线程池满了,导致返回结果为null,我们自己在null的情况下默认将"{}"转成对应对象,所以基本类型不满足条件导致反序列化错误。但是线程池报错没有打日志,所以如果不是类型转换错误,甚至都没能感知到bug。所以细瞅瞅源码为什么不打日志。线程池满了报错排查经过一层层的调用,找到MainClientExec.java执行execute()获取连接池,因为线程池满了,而超时时间又只设置了1s,抛出org.apac原创 2021-09-13 22:20:46 · 2026 阅读 · 0 评论 -
rpc学习
前言rpc全称Remote Precedure Call,是一种通过网络从计算机程序上请求服务的框架。服务之间的调用,主要需要考虑到点是:1、网络协议2、序列化3、实现框架协议服务之间的调用方式,可以选择走http和tcp。tcp位于传输层,http位于应用层,所以tcp更快速,更高效。但是http带有的请求信息更完整,和平时前端请求一样。内网调用足够快,所以http带来的一点效率损耗可以忽略不计。序列化常见的序列化协议xml、protobuf、thrift、fastjso原创 2021-09-12 11:02:59 · 552 阅读 · 0 评论