Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

25.2. 部署拓撲

什麼是區塊鏈呢? 區塊鏈實際上就是資料庫,一個只能插入和查詢的資料庫,數據不能被修改和刪除,並且這個資料庫沒有DBA管理員角色。這麼一說你應該明白了把,實際上運維區塊鏈就是在維護一個分散式資料庫。

網上的絶大多數安裝例子中,均採用 docker 部署方案,但無一例外的是,全部安裝在一個物理機上。如果是生產環境,我們必須分開不是,首先要做的工作是化整為零,拆解應用,搞明白每個容器的功能和作用。然後我們將應用拆分,獨立部署到物理節點上去。



     +---------------------------------+
     |                SDK               |
     +---------------------------------+
     | golang | nodejs | python | java |
     +---------------------------------+
       |                     |
       |                     |
           |   +--------------+ |
           |   |  fabric-ca   |  |
           |   +--------------+  |
           |                     |
           V                     V
+-------------------+   +-------------------+
| Peer            |   |  Peer             |         
+-------------------+   +-------------------+
     |          |           |        |
     V          |           |        V
+-----------+   |           |   +------------+
| Orderer   |   |           |   | Orderer    |
+-----------+   |           |   +------------+
                V           V
            +-------------------+
            |     Couchdb       |
            +-------------------+

接下來我們要做的工作是將上面拓撲圖種的技術點分分擊破。

由於 Hyperledger Fabric 是建立在 Docker 基礎之上的。所以不建議你去除 Docker 轉而使用傳統的本地編譯安裝方式。我們仍然保持使用 Docker 在每個物理節點上,省去軟件的編譯和安裝環節。

25.2.1. 依賴關係

需要注意的是于其他傳統系統一樣,Hyperledger Fabric 的啟動也是有順序的,這是因為他們之間存在着依賴關係。

25.2.2. 準備物理機

CentOS (Minimal ISO)

物理機

  • ca 節點,域名:ca.example.com,IP地址:172.16.0.20,連接埠:7054

  • orderer 節點,域名 orderer.example.com,IP地址:172.16.0.21,連接埠:7050

  • peer 節點,域名:peer.example.com,IP地址:172.16.0.22,連接埠:7051、7053

  • couchdb 節點,域名 couchdb.example.com,IP地址:172.16.0.25,連接埠:5984

  • tools 節點,域名:tools.example.com,IP地址:172.16.0.20 與 CA 共用一台機器(這裡為了節省資源)

在所有節點上運行下面腳本

			
curl -s https://raw.githubusercontent.com/oscm/shell/master/virtualization/docker/docker.centos7.ce.sh	 | bash	
curl -s https://raw.githubusercontent.com/oscm/shell/master/virtualization/docker/docker-compose/docker-compose-1.19.0.sh | bash