分散式系統實時統計線上人數
我們知道在分散式系統中,一個登陸應用可能被分開部署了多臺伺服器。想要統計實時的線上人數,需要藉助一箇中間件,我這裡用的是memcached。
這裡必須說明一點,很多情況下,使用者是不會手動點選登出按鈕的,所以我們無法拿到一個非常精確的實時線上的一個數據,只能拿到一個近似實時的一個值。
我之前有篇文章說的是單點登陸,有興趣可以參考下,單點登陸sso
單點登陸的時候,會以cookie為key,使用者ID為值,寫入memcached,並設定一個過期時間,等到過期時間到了,這條記錄會自動刪除。我們可以利用這個原理來實現實時統計線上人數。當然過期時間設定的越短,越接近真正的實時線上的人數。
所有單點登陸cookie的值都做上一個標記,比如都以“sso-”開頭。定時任務5分鐘(或者更短時間,看具體業務需求)定時去查一次memcached中所有以“sso-”開頭的key的數量,然後存庫。
至於存庫後,如何展示,就看你的需要了,可以做一個折線的報表5分鐘重新整理一次。
這樣就能實時展示網站的線上人數,方便統計哪個時間段的訪問量大,可以針對性的做一些事情。
相關推薦
分散式系統實時統計線上人數
我們知道在分散式系統中,一個登陸應用可能被分開部署了多臺伺服器。想要統計實時的線上人數,需要藉助一箇中間件,我這裡用的是memcached。 這裡必須說明一點,很多情況下,使用者是不會手動點選登出按鈕的,所以我們無法拿到一個非常精確的實時線上的一個數據,只能拿
監聽器的應用一(統計線上人數)
1.web,xml配置 2.監聽類的配置 3.jsp頁面的顯示 web,xml <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan
JavaWeb中的application統計線上人數案例
import java.util.HashSet; import javax.servlet.ServletContext; import javax.servlet.http.HttpSession; import javax.servlet.http.Htt
簡單的java web 統計線上人數實現方法
建立一個class頁面 實現ServletContextListener和HttpSessionListener介面 import javax.servlet.ServletContext;import javax.servlet.ServletContextEvent;im
ASP.NET中利用Application和Session統計線上人數、歷史訪問量
先來簡單說一下ASP.NET中的Application和Session 下圖是我們非常熟悉的Web應用程式的結構: 在這張圖中,Web伺服器中執行的Web應用程式就是我們所說的Applicati
用echarts統計線上人數包括獲取後臺真正的資料
echarts官網上面的模板講的非常詳細,但都只是給定的資料出來的效果,而在實際的開發中當然需要獲取後臺真正的資料,這是一個統計一天中每個小時的線上人數的折線統計圖:(圖來自測試階段資料不是很全,橫軸應該是0-24點)下面上程式碼:jsp頁面:<%--
session監聽器(可用於統計線上人數,當前客戶)
在系統執行中,有時候我們想了解下當前使用系統的使用者,有多少人在使用系統?具體是哪些人在使用系統? 這時候,就可以通過session監聽器(javax.servlet.http.HttpSessionAttributeListener 介面)的功能來實現。當
如何統計線上人數
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><script type="text/
asp.net統計線上人數
統計線上使用者的作用不言而喻,就是為了網站管理者可以知道當前使用者的多少,然後根據使用者數量來觀察伺服器或者程式的效能,從而可以直觀的瞭解到網站的吸引力或者網站程式的效率。現在,我們就介紹一個簡單明瞭的方法來統計線上使用者的多少,該方法的特點就是充分的利用了ASP.NET
【ASP.NET】——統計線上人數、歷史訪問人數
北大青鳥的視訊中講了很多很實用的例子,這是其中一個,在實現的過程中,遇到一些問題,但也都在老師的指導下和通過查閱資料解決了,感覺收穫頗豐。 在做這個例子的時候發現:ASP.NET的
巧用session機制實現使用者不重複登入、記錄使用者登入日誌、統計線上人數
HttpSessionBindingListener 這個具體的使用文件自查,本篇中是新建了一個類實現本介面 public class UsersOnlineCountListener implements HttpSessionBindingListe
JavaEE——線上人管理系統(顯示線上人數、線上人詳細資訊、管理員踢人)
這篇部落格是filter、listener和servlet技術的相關總結,實現了簡單的顯示線上人數、線上人詳細資訊、管理員踢人功能 下面是詳細程式碼 web.xml <?xml version="1.0" encoding="UTF-8"?>
spring-boot通過HttpSessionListener監聽器統計線上人數
首先說下,這個統計線上人數有個缺陷,一個人線上可以同時擁有多個session,導致統計有一定的不準確行。 接下來,開始程式碼的編寫, 第一步:實現HttpSessionListener中的方法,加上註解@WebListener @WebListener public cla
監聽器小例子之統計線上人數
監聽器小例子 統計同時線上人數: 每當有一個使用者登入的時候在伺服器端建立一個session物件,寫一個監聽器,監聽session的建立與銷燬,每當建立一個session物件的時候就把計數器+1,然
使用HttpSessionListener介面監聽Session的建立和失效(可以用於統計線上人數)
轉自:http://uule.iteye.com/blog/824115 HttpSessionListener : Session建立事件發生在每次一個新的session建立的時候,類似地Session失效事件發生在每次一個Session失效的時
Servlet監聽器(統計線上人數案例)
1、監聽器 (1)什麼是監聽器 servlet規範當中定義的一種特殊的元件,用來監聽servlet容器產生的事件並進行相應的處理。 事件主要有兩大類:
web專案統計線上人數
1、定義一個監聽器,實現HttpSessionBindingListener介面(MySessionListener.java) package com.ilfy.lbjn.listener;
springboot 用監聽器統計線上人數,小案例
本文在springboot 的專案,用HttpSessionListener 監聽器(監聽器的其中一種) 統計線上人數,實質是統計session 的數量。 思路很簡單,但是有個細節沒處理好,讓我除錯了大半天,才把bug搞好。 先寫個HttpSessionListener 監
java統計線上人數
在web.xml檔案中新增<!-- 統計線上 監聽 --> <listener> <listener-class>com.connxun.config.listener.OnLineListener</listener-cla
Flume+Kafka+Storm+Redis構建大數據實時處理系統:實時統計網站PV、UV+展示
大數據 實時計算 Storm [TOC] 1 大數據處理的常用方法 前面在我的另一篇文章中《大數據采集、清洗、處理:使用MapReduce進行離線數據分析完整案例》中已經有提及到,這裏依然給出下面的圖示: 前面給出的那篇文章是基於MapReduce的離線數據分析案例,其通過對網站產生的用戶訪問