原创 性能測試之redis集羣監控環境搭建:prometheus + redis_exporter + grafana

搭建redis集羣 1、環境 操作系統:centos7.4 redis版本:redis-5.0.4 說明:一臺雲服務器(雲服務器搶購地址)模擬6個redis節點,3個master,3個slave redis安裝: https://www.

原创 assasin談設計模式

設計模式六大原則 開放封閉原則:一個軟件實體如類、模塊和函數應該對擴展開放,對修改關閉。 里氏替換原則:所有引用基類的地方必須能透明地使用其子類的對象. 依賴倒置原則:高層模塊不應該依賴低層模塊,二者都應該依賴其抽象;抽象不應該

原创 分佈式消息隊列應用場景之異步處理、應用解耦、流量削鋒和消息通訊理解分析

消息隊列中間件是分佈式系統中重要的組件,主要解決應用耦合,異步消息,流量削鋒等問題。實現高性能,高可用,可伸縮和最終一致性架構。是大型分佈式系統不可缺少的中間件。 目前在生產環境,使用較多的消息隊列有ActiveMQ,RabbitMQ,K

原创 瀏覽器輸入 URL 回車之後發生了什麼?

前言 這個問題已經是老生常談了,更是經常被作爲面試的壓軸題出現,網上也有很多文章,但最近閒的無聊,然後就自己做了一篇筆記,感覺比之前理解更透徹了。 注意:本文的步驟是建立在,請求的是一個簡單的 HTTP 請求,沒有 HTTPS、HTTP2

原创 centos7 mailx 發送郵件配置

安裝服務: yum -y install sendmail mailx libreport-plugin-mailx sharutils mutt 啓動服務 systemctl start sendmail 配置郵箱服務器: vim /e

原创 Redis 9種數據結構以及它們的內部編碼實現

90%的人知道Redis 5種最基本的數據結構; 只有不到10%的人知道8種基本數據結構,5種基本+bitmap+GeoHash+HyperLogLog; 只有不到5%的人知道9種基本數據結構,5.0最新版本數據結構Streams; 只有

原创 緩存的正確打開方式(二)

上一篇文章:緩存的正確打開方式(一) 中介紹了讀取緩存時的一些細節,有讀就有寫,本篇來聊聊,當我們需要更新緩存該怎麼做?   當我們通過一些方式:如後臺管理系統更新了相關的數據信息,或者用戶在一些操作的時候更新了一些數據信息,如果這些信息

原创 在PHP中你知道如何請求Http的,那在Go語言中又是如何請求的呢?

Go 原生支持http:import "net/http" Go 的http服務性能和nginx比較接近: 就是說用Go寫的Web程序上線,程序前面不需要再部署nginx的Web服務器,這裏省掉的是Web服務器。如果服務器上部署了多個We

原创 頂踩投票功能

雙方觀點對抗,各持自己的意見的時候,分輸贏,這個時候就出現了投票功能來分上下。用戶可以選擇支持代表自己觀點的一方進行投票,本文以紅藍雙方投票爲例,通過前後臺交互,直觀展示紅藍雙方投票數和所佔比例如以下圖片所示 功能實現 我們需要在頁面中

原创 php或python使用ftp,sftp實現上傳文件至遠程服務器

1. ftp方式,必須開放21端口 yum install vsftp -y 即可 傳到/home/xxxx目錄 $fp = fopen ($localfile, "r"); // $arr_ip = gethostbyname(www

原创 SaltStack 九

# salt-api https://docs.saltstack.com/en/latest/topics/netapi/writing.html 1. yum install salt-api 2. yum install pyOp

原创 SaltStack 七

# salt Redis部署 /srv/salt/prod/ ├── modules │   ├── apache │   ├── haproxy │   ├── keepalived │   ├── mysql │   └── re

原创 SaltStack 八

# salt-ssh systemctl stop salt-minion 1. yum install -y salt-ssh 2. vim /etc/salt/roster # Sample salt-ssh config fi

原创 SaltStack 十

# salt-master高可用 多master minion配置可寫爲列表: master: - 192.168.2.103 - 192.168.2.104 保證兩臺master配置相同 # nfs文件共享 # nfs

原创 SaltStack 四

# Apache監聽本地IP地址 結合jinjia模板 變量使用Grains: {{ grains['fqdn_ip4'][0]}} 變量使用執行模塊: {{salt['network.hw_addr']('eth0')}}