go程序部署疑问,是否需要加nginx做反向代理
问题描述
最近用go gin 开发了一个api微服务接口,现在想部署到线上给app提供服务
本来计划是 让app 直接访问 http://ip:9000
可同事说应该用 nginx 做一层反向代理,这样性能会高一些 ,
这样的话部署模式就变成 app访问 http://a.com/api, nginx收到这个请求后 反向代理到本地
http://127.0.0.1:9000
疑问
1.请问 假如访问量很高的情况下, 直接访问go服务端口性能高,还是由nginx反向代理后的性能高?
2.假如 nginx 代理了go服务 性能更高,那为什么多了一层反而性能更高了,是类似 nginx和php-fpm的关系吗?
最后谢谢大佬们给解答!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
还有一个原因:
一般云服务器上只开放了几个常用端口(80, 443,22,23等),所以你想直接外网访问
ip:port
的话,还得自己手动配置入网和出网规则。如果服务部署得多了,开放的端口管理和安全都是一个问题~说错了,之所以加nginx反向代理
1:很方便实现负载均衡
2:可以方便限制请求,还有请求控制
3:虽然加了nginx 损失了一点性能,但是可以忽略不计的!!!