-
RocketMQ 架構(gòu)簡析
Apache RocketMQ 是阿里開源的一款高性能、高吞吐量的分布式消息中間件。 整體架構(gòu) RocketMQ主要由 Producer、Broker、Consumer 三部分組成,其中Producer 負(fù)責(zé)生產(chǎn)消息,Consumer 負(fù)責(zé)消費(fèi)消息,Broker 負(fù)責(zé)存儲消息。每個(gè) Broker 可以存儲多個(gè)Topic的消息,每個(gè)Topic的消息也可以分片存儲于集群中的不同的Broker Group。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?…
-
為什么Kafka如此之快?
Kafka 是由 LinkedIn 公司推出的一個(gè)高吞吐的分布式消息系統(tǒng),通俗地說就是一個(gè)基于發(fā)布和訂閱的消息隊(duì)列,溫故而知新,反復(fù)學(xué)習(xí)優(yōu)秀的框架,定有所獲。 應(yīng)用場景 Kafka 的應(yīng)用場景如下: 異步解構(gòu):在上下游沒有強(qiáng)依賴的業(yè)務(wù)關(guān)系或針對單次請求不需要立刻處理的業(yè)務(wù)。 系統(tǒng)緩沖:有利于解決服務(wù)系統(tǒng)的吞吐量不一致的情況,尤其對處理速度較慢的服務(wù)來說起到緩沖作用。 消峰作用:對于短時(shí)間偶現(xiàn)的極端流量,對后端的服務(wù)可以啟動保護(hù)作用。 數(shù)據(jù)流處理:集成 spark 做實(shí)時(shí)數(shù)據(jù)流處理。 Kafka …
-
終于有人把Nginx說清楚了,圖文詳解!
想必大家一定聽說過Nginx,若沒聽說過它,那么一定聽過它的“同行”Apache吧! Nginx的產(chǎn)生 Nginx同Apache一樣都是一種Web服務(wù)器,基于REST架構(gòu)風(fēng)格,以統(tǒng)一資源描述符(Uniform Resources Identifier)URI或者統(tǒng)一資源定位符(Uniform Resources Locator)URL作為溝通依據(jù),通過HTTP協(xié)議提供各種網(wǎng)絡(luò)服務(wù)。 然而,這些服務(wù)器在設(shè)計(jì)之初受到當(dāng)時(shí)環(huán)境的局限,例如當(dāng)時(shí)的用戶規(guī)模,網(wǎng)絡(luò)帶寬,產(chǎn)品特點(diǎn)等局限并且各自的定位和發(fā)展都不…
-
Nginx 五大常見應(yīng)用場景
Nginx 是一個(gè)很強(qiáng)大的高性能 Web 和反向代理服務(wù),它具有很多非常優(yōu)越的特性,在連接高并發(fā)的情況下,Nginx 是 Apache 服務(wù)不錯(cuò)的替代品。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上 nginx 的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,因此國內(nèi)知名大廠例如:淘寶,京東,百度,新浪,網(wǎng)易,騰訊等等都在使用 Nginx 網(wǎng)站。 在我們的日常工作學(xué)習(xí)中,我們會該如何去優(yōu)化自己的 Nginx 服務(wù)器?遇到以下問題我們該如何處理呢? 一、自定義返回客戶端的404錯(cuò)誤頁面 1)優(yōu)化前,客戶端使用…
-
監(jiān)控軟件怎少得了Zabbix?一份超詳細(xì)文檔讓你全面掌握,建議收藏
在監(jiān)控軟件中,開源的解決方案有流量監(jiān)控(MRTG、Cacti、SmokePing、Graphite 等)和性能告警(Nagios、Zabbix、Zenoss Core、Ganglia、OpenTSDB等)可供選擇,并且每種軟件都有自己的特點(diǎn)和功能,各自的側(cè)重點(diǎn)和目標(biāo)不完全相同,在設(shè)計(jì)理念和實(shí)現(xiàn)方法上也大同小異,最終都能達(dá)到對 IT 系統(tǒng)服務(wù)可用性的一個(gè)完全展示。 Zabbix 是一個(gè)分布式監(jiān)控系統(tǒng),支持多種采集方式和采集客戶端,有專用的Agent(代理),也可以支持 SNMP、IPMI、JMX、…
-
用autossh工具進(jìn)行端口轉(zhuǎn)發(fā)
比如我們在 host2?機(jī)器上面部署了很多服務(wù),但是由于某種原因?qū)е挛覀儫o法直接?ssh?訪問該服務(wù)器已經(jīng)其上服務(wù)的對應(yīng)端口,但是?host3?服務(wù)器,既能夠訪問?host2?服務(wù)器,又可以訪問我們的 host1 服務(wù)器。這時(shí),我們可以通過設(shè)置?ssh?來進(jìn)行服務(wù)的訪問。但是還有兩個(gè)問題:你需要保持終端開啟防止?SSH?進(jìn)程被關(guān)閉;由于網(wǎng)絡(luò)故障/波動導(dǎo)致?SSH?終斷時(shí)無法自動重連。 前者可以使用?tmux?等第三方工具來解決,后者需要?supervisor?等第三方監(jiān)控工具,不過我們還有一個(gè)更…
-
Numpy怎么使用最高效,5個(gè)技巧送給你!
本文作者將分享 5 個(gè)優(yōu)雅的 Python Numpy 函數(shù),有助于高效、簡潔的數(shù)據(jù)處理。 在 reshape 函數(shù)中使用參數(shù)-1 Numpy 允許我們根據(jù)給定的新形狀重塑矩陣,新形狀應(yīng)該和原形狀兼容。有意思的是,我們可以將新形狀中的一個(gè)參數(shù)賦值為-1。這僅僅表明它是一個(gè)未知的維度,我們希望 Numpy 來算出這個(gè)未知的維度應(yīng)該是多少:Numpy 將通過查看數(shù)組的長度和剩余維度來確保它滿足上述標(biāo)準(zhǔn)。讓我們來看以下例子: 維度為-1 的不同 reshape 操作圖示。 假設(shè)我們給定行參數(shù)為 1,列…
-
輕量級日志分析平臺Loki實(shí)戰(zhàn)
簡介: Loki的第一個(gè)穩(wěn)定版本于2019年11月19日發(fā)布,是 Grafana Labs 團(tuán)隊(duì)最新的開源項(xiàng)目,是一個(gè)水平可擴(kuò)展,高可用性,多租戶的日志聚合系統(tǒng)。Loki 是專門用于聚集日志數(shù)據(jù),重點(diǎn)是高可用性和可伸縮性。與競爭對手不同的是,它確實(shí)易于安裝且資源效率極高。 特點(diǎn): 優(yōu)點(diǎn): 1、Loki的架構(gòu)非常簡單,使用了和prometheus一樣的標(biāo)簽來作為索引,通過這些標(biāo)簽既可以查詢?nèi)罩镜膬?nèi)容也可以查詢到監(jiān)控的數(shù)據(jù),不但減少了兩種查詢之間的切換成本,也極大地降低了日志索引的存儲。 2、與EL…
-
Filebeat、Logstash、Rsyslog 各種姿勢采集Nginx日志
由于nginx功能強(qiáng)大,性能突出,越來越多的web應(yīng)用采用nginx作為http和反向代理的web服務(wù)器。而nginx的訪問日志不管是做用戶行為分析還是安全分析都是非常重要的數(shù)據(jù)源之一。如何有效便捷的采集nginx的日志進(jìn)行有效的分析成為大家關(guān)注的問題。 本文通過幾個(gè)實(shí)例來介紹如何通過filebeat、logstash、rsyslog采集nginx的訪問日志和錯(cuò)誤日志。 大家都知道ELK技術(shù)棧是采集、分析日志的利器。所以這里介紹的是從nginx采集日志到ES。當(dāng)然至于日志采集以后存到看大家的需要…
-
Shell 腳本進(jìn)階,經(jīng)典用法及其案例
一、條件選擇、判斷 1、條件選擇if (1)用法格式 逐條件進(jìn)行判斷,第一次遇為“真”條件時(shí),執(zhí)行其分支,而后結(jié)束整個(gè)if。 (2)經(jīng)典案例: 分析:請輸入年紀(jì),先判斷輸入的是否含有除數(shù)字以外的字符,有,就報(bào)錯(cuò);沒有,繼續(xù)判斷是否小于150,是否大于18。 分析:請輸入成績,先判斷輸入的是否含有除數(shù)字以外的字符,有,就報(bào)錯(cuò);沒有,繼續(xù)判斷是否大于100,是否大于85,是否大于60。 2、條件判斷 case (1)用法格式 (2)案例: 分析:請輸入yes or no,回答Y/y、yes各種大小寫…