原创 高併發與高可用實戰(一)基礎

DNS域名解析 整個過程大體描述如下,其中前兩個步驟是在本機完成的,後8個步驟涉及到真正的域名解析服務器:1、瀏覽器會檢查緩存中有沒有這個域名對應的解析過的IP地址,如果緩存中有,這個解析過程就結束。瀏覽器緩存域名也是有限制的,不僅瀏覽器

原创 互聯網API開放平臺安全設計(一)--Web安全漏洞

什麼是XSS攻擊手段 XSS攻擊使用Javascript腳本注入進行攻擊 例如在提交表單後,展示到另一個頁面,可能會受到XSS腳本注入,讀取本地cookie遠程發送給黑客服務器端。 <script>alert('sss')</scrip

原创 互聯網API開放平臺安全設計(五)---APIGateway網關

什麼是網關 隨着互聯網的快速發展,當前以步入移動互聯、物聯網時代。用戶訪問系統入口也變得多種方式,由原來單一的PC客戶端,變化到PC客戶端、各種瀏覽器、手機移動端及智能終端等。同時系統之間大部分都不是單獨運行,經常會涉及與其他系統對接、共

原创 高併發與高可用實戰(七)高併發服務限流特技

在開發高併發系統時有三把利器用來保護系統:緩存、降級和限流。緩存的目的是提升系統訪問速度和增大系統能處理的容量,可謂是抗高併發流量的銀彈;而降級是當服務出問題或者影響到核心流程的性能則需要暫時屏蔽掉,待高峯或者問題解決後再打開;而有些場景

原创 分佈式協調工具(二)--Zookeepers實現分佈式鎖

什麼是多線程 多線程爲了能夠提高應用程序的運行效率,在一個進程中有多條不同的執行路徑,同時並行執行,互不影響。 什麼是線程安全 當多個線程同時共享,同一個全局變量或靜態變量,做寫的操作時,可能會發生數據衝突問題,也就是線程安全問題。但是做

原创 算法基礎--排序

ps:以前沒有做過ACM,在算法這一塊吃了很大的虧,尤其是在今年的春招中所以痛定思痛,好好惡補一下算法的知識。 今天寫算法的基礎,排序算法。 冒泡排序:每次把最大的數移到最後一個 public static void bubbleSor

原创 算法設計---ID生成系統

設計一個針對全球的、訪問量極大的id生成系統。必須保證用戶每次從該系統得到的id是唯一的,而且在概率上毫無碰撞可能。 設計思路: 系統存在一個全局的ID管理器,爲了防止宕機做成主從備份。 爲了抗住訪問壓力,設置多級ID生成器 每個ID生

原创 大數據基礎-Storm基礎(一)

1、流式計算是什麼          流式計算:數據實時產生、數據實時傳輸、數據實時計算、實時展示          代表技術:Flume實時獲取數據、Kafka/metaq實時數據存儲、Storm/JStorm實時數據計算、Redis實

原创 Docker學習(一)--CentOS Docker 安裝

前提條件 目前,CentOS 僅發行版本中的內核支持 Docker。 Docker 運行在 CentOS 7 上,要求系統爲64位、系統內核版本爲 3.10 以上。 Docker 運行在 CentOS-6.5 或更高的版本的 CentOS

原创 分佈式協調工具(三)--ookeeper實現分佈式配置中心

什麼是分佈式配置中心 項目中配置文件比較繁雜,而且不同環境的不同配置修改相對頻繁,每次發佈都需要對應修改配置,如果配置出現錯誤,需要重新打包發佈,時間成本較高,因此需要做統一的分佈式註冊中心,能做到自動更新配置文件信息,解決以上問題。 常

原创 分佈式協調工具--ZooKeeper實現動態負載均衡

什麼是Zookeeper Zookeeper是一個分佈式開源框架,提供了協調分佈式應用的基本服務,它向外部應用暴露一組通用服務——分佈式同步(Distributed Synchronization)、命名服務(Naming Service

原创 互聯網API開放平臺安全設計(三)--API安全接口安全設計

互聯網開放平臺設計 1.需求:現在A公司與B公司進行合作,B公司需要調用A公司開放的外網接口獲取數據, 如何保證外網開放接口的安全性。 2.常用解決辦法: 2.1 使用加簽名方式,防止篡改數據 2.2 使用Https加密傳輸 2.3 搭建

原创 互聯網API開放平臺安全設計(二)--API接口冪等框架

API接口冪等性設計方案 MVCC方案  多版本併發控制,該策略主要使用 update with condition(更新帶條件來防止)來保證多次外部請求調用對系統的影響是一致的。在系統設計的過程中,合理的使用樂觀鎖,通過 version

原创 互聯網API開放平臺安全設計(四)--信息加密與密鑰管理

  單向散列加密 散列是信息的提煉,通常其長度要比信息小得多,且爲一個固定長度。加密性強的散列一定是不可逆的,這就意味着通過散列結果,無法推出任何部分的原始信息。任何輸入信息的變化,哪怕僅一位,都將導致散列結果的明顯變化,這稱之爲雪崩效應

原创 高併發與高可用實戰(六)高併發服務限流特技

在開發高併發系統時有三把利器用來保護系統:緩存、降級和限流。緩存的目的是提升系統訪問速度和增大系統能處理的容量,可謂是抗高併發流量的銀彈;而降級是當服務出問題或者影響到核心流程的性能則需要暫時屏蔽掉,待高峯或者問題解決後再打開;而有些場景