https://github.com/zhwaaaaaa/rpollingc
a client framework for long remote invoke with http.
https://github.com/zhwaaaaaa/rpollingc
celery http long-connection netty polling
Last synced: 3 months ago
JSON representation
a client framework for long remote invoke with http.
- Host: GitHub
- URL: https://github.com/zhwaaaaaa/rpollingc
- Owner: zhwaaaaaa
- Created: 2019-05-18T06:42:52.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-11-02T11:36:35.000Z (almost 3 years ago)
- Last Synced: 2024-05-07T15:36:28.711Z (over 1 year ago)
- Topics: celery, http, long-connection, netty, polling
- Language: Java
- Size: 87.9 KB
- Stars: 5
- Watchers: 1
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RPOLLINGC 是一个类Rpc客户端框架。基于http长链接,用于发送一个请求,然后轮询结果。
## 背景
早期项目上使用了 [celery](https://github.com/celery/celery) 需要调用然后轮询结果。
早期使用HttpUrlConnection + 线程池模式。使用发送请求然后sleep轮询。
不仅性能低,占用资源极高,且混合业务代码,非常不利于维护。所以我基于netty开发了这套框架,解决了这些问题。## 使用场景
发送一个请求,需要轮询结果的web client## 特性
- 基于netty长连接,轮询和定时采用selector
- 使用jdk Proxy 调用,结合rxjava方便的实现异步。并且也支持同步调用
- 采用jackson 序列化和反序列化
## 性能
###client:
- OS:win10.
- CPU:INTEL I7 4710M, 16G 内存。
### server:
- OS: centos6.6
- CPU:VMWare 4核心 4G内存
- 服务器nginx。return 30 byte body.
- `LongConnHttpClient` qps 9000+.