服務化之後本地和遠端快取的應用
經過服務化之後,拆分出的使用者中心,經過一段時間的監控,發現幾個問題:
1.每天的呼叫次數大約在2-3億之間
2.60%的呼叫集中在TOP100個介面之中
3.使用者中心的memcached壓力在使用者中心的執行緒排在第一個
4.個別介面成為了服務化過程中的瓶頸
5.memcached使用過程中監控到資料每天有幾千次的超時呼叫,導致服務最大單次耗時被拉長
6.網路開銷
7.序列化與反序列化,在快取中的開銷
通過分析針對現有快取模型進行了重構,加入一層本地快取
解決思路:減少dubbo請求,把一些不易改變且訪問量巨大的資料快取在本地,通過多級快取的模式,從而提升系統性能。
在分散式叢集的環境下,要解決上述的問題把問題拆分成:
1)如何管理本地快取資料
2)如何同步各節點間的資料
3)如何監控本地快取使用情況,最終反應的資料我們需要重新採集和分析。 1.引用本地快取Ehcahe,簡單快速,很好的繼承現有的spring,速度比memcached快非常的多。
2.改造現有應用,由於現有介面都是保持不變,只要增加新的模板即可解決,對於省平臺的重構將會非常小,並且是可控的
3.為了解決節點間的同步:
1)剛開始我們採取的策略是通過zookeeper的特性,進行節點監聽,然後master做分發,但是使用後發現問題(什麼問題 你懂的)
2)為此我們引入了activemq,省平臺已經集成了這個中介軟體,所以基本上增加一些配置就能為我們所有,這裡最重要的也是本次改造的一個關鍵,通過mq的訂閱模式(區別於我們一直使用佇列模式),來解決節點的分發 4.最後我們需要動態的對線上的節點進行監控,我們選擇zookeeper的特性,通過寫入監控資料,然後統一採集,來分析我們線上快取的一個使用情況,比如:命中率,呼叫次數,快取堆大小等
技術交流群: 534368042
相關推薦
服務化之後本地和遠端快取的應用
經過服務化之後,拆分出的使用者中心,經過一段時間的監控,發現幾個問題:1.每天的呼叫次數大約在2-3億之間2.60%的呼叫集中在TOP100個介面之中3.使用者中心的memcached壓力在使用者中心的執行緒排在第一個4.個別介面成為了服務化過程中的瓶頸5.memcached使用過程中監控到資料每天有幾千次的
git刪除遠端分支和本地分支以及更改本地和分支名字 git-更改本地和遠端分支的名稱
問題描述: 當我們集體進行專案時,將自定義分支push到主分支master之後,如何刪除遠端的自定義分支呢 問題解決: (1)使用命令git branch -a 檢視所
將jar打包上傳到本地和遠端maven倉庫
mvn install:install-file -Dfile=C:\Users\Administrator\Desktop\SH深圳航空\jar\szhk-sms-1.0.0.jar -DgroupId=com.szhk.sms -DartifactId=szhk-sms -Dversion=
git 處理本地和遠端衝突
轉載:https://www.cnblogs.com/huanyou/p/6654813.html 一、問題 當原生代碼和遠端程式碼有衝突的時候,執行git pull操作的時候,會提示有衝突,然後直接終止本次pull,查了些資料沒有找到強制pull的方式,但是可以使用如下方式
一種嵌入式linux本地和遠端升級程式的方法
嵌入式linux裝置要進行軟體升級有很種多方式方法,總的來說可以分為本地升級和遠端升級。本地升級包括升級工具升級,儲存介質升級等,遠端升級是指通過網路進行程序升級。這裡介紹一種同時至此本地和遠端升級的方法,以供參考。 本地升級: (1)升級工具升級
git 重新命名本地和遠端分支
#重新命名本地分支 git branch -m oldBranchName newBranchName #刪除遠端分支 git push origin --delete oldOriginBranchName #取消本地分支和遠端分支的關聯 git branch --unse
CentOS7 + Phpstorm + Xdebug本地和遠端除錯配置教程大全
疑難雜症,可以通過伺服器端的xdebug.remote_log進行診斷處理。 一、前言 初學PHP語言,一般會推薦notepad++等編輯器進行開發。但是入門之後,使用phpstrom等IDE好處多多,比如學習一些框架的時候,斷點除錯對於理解框架的
CentOS7 +Nginx + Phpstorm + Xdebug本地和遠端斷點除錯配置教程
一、系統說明本篇使用vmware安裝CentOS 7(下文簡稱虛機)搭建的Nginx伺服器開發機配置的是Nginx + php7.1.14環境搭建這裡不再贅述二、Xdebug的安裝開啟網址:https://xdebug.org/wizard.php執行php - i ,將結果
基於Spark2.0搭建Hive on Spark環境(Mysql本地和遠端兩種情況)
Hive的出現可以讓那些精通SQL技能、但是不熟悉MapReduce 、程式設計能力較弱與不擅長Java語言的使用者能夠在HDFS大規模資料集上很方便地利用SQL 語言查詢、彙總、分析資料,畢竟精通SQL語言的人要比精通Java語言的多得多。Hive適合處理離線非實時資料。h
linux命令 - scp:在本地和遠端之間拷貝檔案
scp命令詳解 - 掃地僧--神龍冠日 - 部落格園http://www.cnblogs.com/likui360/p/6011769.html 開發板linux到虛擬機器linux間的檔案傳輸——scp指令與本地地址的配置 - Leaviathan的部落格 - CSDN部落格https://b
isql登陸本地和遠端sybase資料庫
1,登陸本地資料庫 isql -U username -P password #isql -U 使用者名稱 -P 密碼 2,登陸遠端資料庫 isql -U username -P pass
github刪除本地和遠端倉庫資料夾
1、在要刪除檔案的上一級目錄中,按住shift,點選滑鼠右鍵,然後選擇 在此處開啟命令視窗。然後開啟的命令視窗是直接在該目錄的。2、輸入 git rm -r 檔名3、輸入 git commit -m"delte 檔名"4、輸入 git push這樣操作的好處就是
使用jvisualVm監控本地和遠端的jvm
jvisualVm是jdk自帶的視覺化監控工具,功能很強大,可安裝各種擴充套件外掛。本篇不打算講解如果使用詳細的功能,只講在windows環境怎麼監控本地和遠端(一般是無介面的linux系統)的java程序。 1、在遠端機器上新增許可權策略檔案 在伺服器{JAV
scp在本地和遠端端傳送檔案
1.將本地檔案上傳到服務端 scp -p 22 /home/lnmp.gz [email protected]:/usr/local/src/lnmp.gz 2.將本地目錄上傳到遠端服務端
phpstorm + xdebug 本地和遠端伺服器的使用
我們在本地開發時避免不了使用var_dump和echo這些函式除錯程式碼,但是我們程式碼裡面有時判斷很多,經常要在許多地方寫很多var_dump和echo,這樣其實也沒什麼,個人有個人的喜好,我在沒有使用xdebug時,也喜歡這樣除錯程式碼,但自從用了xdebu
【Git入門】idea整合git操作(本地和遠端共享倉庫-GitHub的使用)
idea配置git 一、簡單使用 - 本地共享倉庫 1.客服端 這邊 先建立庫 - 放入專案 新建一個資料夾hello裡面放專案 URL是上面的倉庫路徑:C:\Users\Administrator\Desktop\test\Git\r
php如何判斷檔案是否存在,包括本地和遠端檔案
當檢查的檔案是本地時用php自帶的file_exists檢查就行了,而此函式只能檢查本地的函式是否存在, 所以如果要檢查遠端的檔案是否存在只能用其它的方法了。 如果所伺服器中php的配置開啟了“allow_url_fopen = On”,即允許遠端訪問,那麼也很簡單,其實這
C#程式設計之 如何獲取本地和遠端主機的IP及MAC地址
利用dns類和WMI規範獲取IP及MAC地址 在C#程式設計中,要獲取主機名和主機IP地址,是比較容易的.它提供的Dns類,可以輕鬆的取得主機名和IP地址. 示例: string strHostName = Dns.GetHostName(); //得到本機的主機名 IP
git 刪除導致本地和遠端倉庫不同步解決
使用git版本控制時,開始時對git不熟悉,導致了一些問題。 https://github.com/wolfpython/nids 比如在nids倉庫中,開始新建了很多文件,但是後來發現很凌亂,刪掉了不少:$rm devdoc member_list 本來在刪除時,應儘量使用git rm命令來操作,但是如果
shell自動備份檔案或目錄到本地和遠端主機
#!/bin/bash #Function:Automatically backup a given list of directories #or files, and can retain the N day backup files. #Can be back to