天天看點

4.28 實習Day3記錄安恒實習Day3

安恒實習Day3

項目源碼學習

git建立分支

  1. 執行git clone 将遠端倉庫代碼拉取到本地
  2. 進入代碼目錄,通過git branch查詢目前已存在分支.
  3. 通過git checkout指令,進入目前分支。

在Sql語句中加入 AND 1 =2 的原因

  • 是一種避免注入攻擊的方式,即使在AND前的語句是正确的,因為 1 = 2 邏輯一定為假,導緻前半段語句無法執行,避免注入攻擊。

Redis緩存通路和删除

在本地對資料進行測試時,由于前一次通路進行了緩存,需要對redis緩存進行清除。

  1. 登入至指定端口的redis伺服器 redis-cli -h 127.0.0.1 -p 6379
  2. 執行flushall 指令清除全部緩存 (如需要删除個别資料,先執行keys *查找全部key,然後執行del key 删除指定key)。

知識點拓展

SOA

什麼是SOA理念(阿裡Java開發手冊中提到:暴露出來的服務一定是接口)

  • SOA全英文是Service_Oriented Architecture,中文意思是面向服務程式設計。
  • 用途:SOA解決多服務淩亂問題,SOA架構解決資料服務的複雜程度,SOA也稱為服務治理。

應用場景

項目從統一到分布式的演變如下圖:

随着業務的深入,對系統進行調整,分别是對資料和業務的拆分,最後每個子系統提供自己的服務。

多個子系統直接互相互動,互相調用非常淩亂,這時候就要用到SOA架構,幫助我們把服務之間調用的關系治理起來,提供統一的标準。将服務治理成下圖所示。

什麼是資料總線

相關概念 : 統一标準——各系統的協定、位址、互動方式。 新的互動方式:各個系統分别根據統一标準向資料總線進行注冊,各子系統調用其他子系統時,我們并不關心如果找到其他子系統,我們隻找資料總線,資料總線再根據統一标準找其他子系統,是以資料總線在這裡充當一個隻路人的作用。

也就是說,資料總線是起到排程服務的作用,資料總線不是內建服務,資料總線更新一個排程架構,每個服務需要根據約定向資料總線注冊服務,那麼如何注冊那?其實資料總線就像一個字典結構,

資料總線裡面一個key對于一個value,key指的是服務名,value則是服務的排程方式,還有一點需要說明的是,資料總線隻是指路人,服務是不經過資料總線的,如上圖的黃色線的路徑。

 資料總線通過域名解析實作:一個域名綁定多台伺服器,ajax也可以,dns也可以,解析域名嘛。

 其實資料總線還有一些進階應用,比如心跳檢測,實作負載均衡等等,就不細說了,目前應用資料總線的有阿裡的dubbo,還有zookeeper。
複制代碼
           

SOA的好處

  1. 降低使用者成本,使用者不需要關心各服務之間是什麼語言的、不需要知道如果調用他們,隻要通過統一标準找資料總線就可以了。
  2. 程式之間關系服務簡單
  3. 識别哪些程式有問題(挂掉) 缺點:提示了系統的複雜程度,性能有相應影響。

轉載于:https://juejin.im/post/5cc5547cf265da0359487bc9