天天看點

Zookeeper和正規表達式

NGINX

    1.反向代理    2.負載均衡    3.http伺服器(包含動靜分離)    4.正向代理

 高并發流量的控制

   1.緩存    2.降級        3.限流

    限流的方式:計數器,滑動視窗,漏桶,令牌

初始化執行個體化

    1.一個執行個體變量在對象初始化會被指派幾次?JVM為一個對象配置設定完記憶體之後,會給每一個執行個體變量賦予預設值,第一次;在聲明執行個體變量的同時進行了指派操作,則第二次;在執行個體代碼塊中又對變量初始化,則第三次;在構造函數中也初始化了,則第四次;

    2.類的初始化和類的執行個體化過程的異同?類的初始化是指類加載過程中的初始化階段對類變量按照程式的意圖進行指派的過程;而類的執行個體化是指在類完全加載到記憶體中後建立對象的過程

ZooKeeper

 通用的無單點問題的分布式協調架構

   設計目标是将那些複雜且容易出錯的分布式一緻性服務封裝起來,構成一個原語集,并以一系列簡單易用的接口提供給使用者使用。

Zookeeper是一個典型的分布式資料一緻性解決方案,分布式應用程式可以基于ZooKeeper實作諸如資料釋出/訂閱,負載均衡,命名服務,分布式協調/通知,叢集管理,Master選舉,分布式鎖和分布式隊列等功能;

     常用場景: 用于擔任服務生産者和服務消費者的注冊中心;(服務生産者将提供的服務注冊到Zookeeper中心,服務的消費者在服務調用的時候到Zookeeper查找服務,擷取後再去調用服務生産者的内容 和資料;)

    為什麼使用奇數台伺服器構成Zookeeper叢集:因為當3個和4個Server時,都同樣最多隻允許1個Server挂掉。

    1.為了保證高可用:采用叢集;

    高吞吐和低延遲:将資料儲存到記憶體中;

    高性能:在“讀”多的應用型尤其高性能。“寫”會導緻所有伺服器間同步狀态;(讀多于寫是協調服務的典型場景)

    臨時節點:當建立臨時節點的用戶端會話一直保持活動,瞬時節點就一直存在;(1.管理使用者送出的資料2.為使用者程式提供資料節點的監聽服務)

Session:一個用戶端連接配接是指用戶端和伺服器之間的一個TCP長連接配接; (能向Zookeeper伺服器發送請求并接受相應,同時接收伺服器的Watch事件通知)

Znode:資料節點(臨時節點)

Watch:(事件監聽器) 允許使用者在指定節點注冊Watcher,在事件觸發時,服務端會将事件通知到感興趣的用戶端。

 特點:順序一緻性:同一用戶端發起的事務請求,會按照順序被應用

            原子性;單一系統映像:無論用戶端連接配接到哪一個Zookeeper伺服器上,其看到的服務端資料模型一緻;

            可靠性:一旦一次更改請求被應用,更改的結果會被持久化;

叢集角色介紹:典型模式:Master/Slave模式(主備模式)

使用:用作注冊中心;Hadoop生态系統的醫院;建構Zookeeper叢集時,使用伺服器最好是奇數台;

正規表達式

元字元:\w:比對一個元素    \s 比對人員空白符    \d 比對數字        \b 比對單詞的開始或結束        ^ 比對字元串的開始        $ 比對 字元串的結束

    比對有abc開頭的字元串:\babc   ^abc

    比對8位數字的qq号碼:^\d\d\d\d\d\d\d\d$

    比對1開頭11位數字的手機号碼:^1\d\d\d\d\d\d\d\d\d\d\d\d$

重複限定符  * 重複零次或多次        + 重複一次或多次        ? 重複零次或一次  {n}重複n次   {n,}重複n次或更多次  {n,m}重複n到m次

    比對8位數字的qq号碼:^\d{8}$

    比對1開頭11位數字的手機号碼  : ^1\d{10}$

     比對銀行卡号是14-18位的數字: ^\d{14,18}$

     比對以a開頭,0個活多個b結尾的字元串: ^ab*$

分組:比對字元串中包含多個0到多個ab開頭:^(ab)*

轉義:比對以(ab)開頭: ^(\(ab\))* 

條件或: 或條件處理: ^(130|131|132|1323)\d{8}$

區間:  限定0-9  [0-9]    限定A-Z 【A-Z】 限定某些數字:【165】

    ^((13[0-2])|(15[56])|(18[5-6])|145|176)\d{8}$

繼續閱讀