我需要调客户一个接口(webservice),客户把这个接口分A、B两台服务器部署了。 但他们又没有配置nginx来做负载均衡,我们也不能用nginx来给他加一个,只能自己用程序来实现。 请问怎么破这个问题?
我需要调客户一个接口(webservice),客户把这个接口分A、B两台服务器部署了。 但他们又没有配置nginx来做负载均衡,我们也不能用nginx来给他加一个,只能自己用程序来实现。 请问怎么破这个问题?
你想怎么破?不是已经想好了“自己用程序实现”一个了么?
nginx
不能用,是因为nginx
通常用作反向代理,所谓反向代理是需要架在客户服务器那一边的(在你的情况里这点做不到)
所以你需要自己写代码实现一个正向的代理服务器,架在你们这一边,你的应用程序都发送请求到你的这个“代理服务器”,然后由代理服务器转发请求到客户那边去,至于api
映射是hard code还是配置文件,亦或是jmx
这还不都是你信手拈来么!
所以你的问题是,自己懒得手写一个proxy server
,有没有现成的?
补充:
其实nginx
也能做到啊,而且应该更简单才对。
自己搭个server
在这个server上搭nginx
给这个nginx
配置转发规则
让你的应用请求全部都发到上面这台server去
这台新server帮你转发请求到客户的各个webservice去
客户的各个webservice返回数据到这台新server
新 server返回数据给你的应用
也挺好嘛,^^
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
自己实现负载均衡,我觉得你可能需要这个。负载均衡算法