https://github.com/daqing/smart_mesh
Smart Mesh 是基于 cowboy 实现的 HTTP 反向代理,可以基于主机名和服务器压力,进行比较智能的负载均衡。
目前的实现比较简单,数据都存储在内存中,还没有做持久化。
感兴趣的可以浏览一下,代码不多。
{ok, BodyBin, _Req} = cowboy_req:body(Req), httpc:request( ... BodyBin {ok, Req2} = cowboy_req:reply(StatusCode, RspHeaders, RspBody, Req)
我说为啥我没看懂你在写什么,原来如此。
你不怕内存爆了啊
#1 楼 @bhuztez 原型而已~
#1 楼 @bhuztez 再说,cowboy 本身就把所有的请求数据,都读入内存了呀。。我只是取到那个数据,再转发出去。
目前只支持 GET 和 POST 请求,对于文件上传,就不能这样处理了。
#3 楼 @daqing 两个方向都不对啊
也有按流量负载均衡的需求啊
#4 楼 @bhuztez 哦,这个项目的目标,不是做成通用的负载均衡服务器,而是一个大系统的内部组件。
#5 楼 @daqing
可以基于主机名和服务器压力,进行比较智能的负载均衡。
@daqing 加油!
有时间我给你 pull-request
#8 楼 @SharpX 欢迎啊!