• 技术文章 >运维 >Nginx

    nginx和haproxy的区别

    (*-*)浩(*-*)浩2019-06-04 17:07:59原创2437
    对于做软负载,我们都知道主流的方案有LVS、Haproxy、Nginx!那么对于Haproxy和Nginx,我们如何选择呢?回答这个问题之前,我根据个人使用经验来讲下它们的特点!

    Haproxy特点

    支持TCP与Http协议,工作在网络4层和7层

    支持Session共享、Cookies引导

    支持通过URL健康检测

    支持8种负载均衡策略

    支持心跳检测

    Nginx特点

    支持Http协议,工作在网络7层

    支持通过端口健康检测

    支持强大的正则匹配规则

    支持WebSocket协议

    支持Http Cache

    说明:

    对于Http协议,Haproxy处理效率比Nginx高。所以,没有特殊要求的时候或者一般场景,建议使用Haproxy来做Http协议负载!但如果是Web,那么建议使用Nginx!总之,大家可以结合各自使用场景的特点来进行合理地选择!

    上次有人问我:Nginx或Haproxy的连接数能否突破“65535”这个“魔咒”?其实大家有这样的疑问,是因为对Nginx或Haproxy工作原理不了解导致的!

    下面以Linux服务器为例,讲解下二者理论上最大连接数:

    Linux上Nginx理论上最大连接数

    正向代理:最大连接数 = work_processes * worker_connections
    反向代理:最大连接数 = work_processes * worker_connections / 4
    备注:worker_connections指单个进程能够处理的最大连接数,假设你的服务器是8核,worker_connections =
    65535(可以自定义的,但最大不能超过最大文件描述符数,因为1个连接相当于使用了1个文件描述符)

    在上述2种情况下最大连接数(理论值)分别是: 8 * 65535 和 8 * 65535 /4

    Linux上Haproxy理论上最大连接数

    最大连接数 = maxconn( global | defaults | listen )

    更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!

    以上就是nginx和haproxy的区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nginx
    上一篇:nginx和lvs区别 下一篇:ribbon和nginx的区别

    相关文章推荐

    • nginx负载均衡同步上传文件的问题 - SegmentFault• nginx负载均衡同步上传文件的问题• nginx负载均衡造成的数据查询不同步• nginx负载均衡

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网