V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cesar
V2EX  ›  程序员

请教贴,关于负载均衡+js 统计分析的解决方案

  •  
  •   cesar · 2016-07-22 21:14:45 +08:00 · 2222 次点击
    这是一个创建于 3083 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问当在前端加上负载均衡服务器后,

    有方案继续使用基于 js 的统计代码(比如 cnzz)么?

    目前自己能想到的只有:

    1. 使用 DNS 负载均衡来替代

    2. 改成服务器端利用 X-Forwarded-For 统计(据说很多前端才有的信息无法收集到?)

    有什么比较通用的解决方案么?谢谢啦

    11 条回复    2016-07-23 12:05:36 +08:00
    airyland
        1
    airyland  
       2016-07-22 21:20:29 +08:00 via iPhone
    统计代码在前端还采集不到前端页面信息?
    cesar
        2
    cesar  
    OP
       2016-07-22 21:25:58 +08:00
    @airyland 我没说清楚吧

    比如采用标题中的架构,也就是类似这样:
    客户端→负载均衡服务器→Web 服务器

    js 统计
    会导致 js 统计获取的用户 IP 全部是负载均衡服务器的 IP 的吧?

    所以想看有没有解决办法
    cesar
        3
    cesar  
    OP
       2016-07-22 21:26:54 +08:00
    @airyland
    2 楼答案没排版好

    js 统计在 web 服务器那里加载
    hemingway
        4
    hemingway  
       2016-07-22 21:53:15 +08:00
    可以在负载均衡器上做统计。
    jarlyyn
        5
    jarlyyn  
       2016-07-22 21:55:13 +08:00
    js 统计不是直接发送到统计服务器的么?

    和你的 web 服务器没关系
    cesar
        6
    cesar  
    OP
       2016-07-22 22:35:22 +08:00
    @hemingway 是在负载均衡服务器上加载 js 么?还是通过后端统计哈?
    cesar
        7
    cesar  
    OP
       2016-07-22 22:36:26 +08:00
    @jarlyyn 是的,但是我不清楚怎么把 js 在负载均衡服务器就加载;如果是在最后加载,对于 js 而言,采到的 IP 就是负载均衡服务器的 IP 了
    hemingway
        8
    hemingway  
       2016-07-22 22:55:10 +08:00 via iPhone
    @cesar 负载均衡上直接统计源 IP 访问计数,或者可以让负载均衡改写 http 头部,在头部里面加一个真实源 IP 字段,一般负载均衡的 http 代理都有改写头部的功能, web 服务器可以解析头部得到真实源 IP ,进行统计。
    jarlyyn
        9
    jarlyyn  
       2016-07-22 23:12:25 +08:00
    @cesar

    你到底是内容提供商,还是统计服务提供商?

    如果是内容提供商,这 js 都不再你服务器上,根本和你的负载均衡没关系。

    统计服务提供商就做好 header 传递。
    aprikyblue
        10
    aprikyblue  
       2016-07-23 03:49:48 +08:00 via Android
    跟你的负载均衡有毛关系?
    “ js 统计获取的用户 IP ” 这是 js 向统计服务发起请求,从而统计服务记录下来访的用户 ip 啊

    客户端 → (业务请求)负载均衡服务器→Web 服务器

    js 统计 → (统计请求)统计服务器记录用户 ip
    a2659633
        11
    a2659633  
       2016-07-23 12:05:36 +08:00
    根据我的经验,大部分负载均衡产品,如 F5 , A10 之类,都有路由模式,只需要在服务器那里将网管指向负载均衡即可。这样负载均衡就不必做 SNAT ,直接转发请求给服务器,服务器的应答经过网关(负载均衡)能正确回去。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1044 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 22:13 · PVG 06:13 · LAX 14:13 · JFK 17:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.