知乎專欄 | 多維度架構 | | | 微信號 netkiller-ebook | | | QQ群:128659835 請註明“讀者” |
什麼是區塊鏈呢? 區塊鏈實際上就是資料庫,一個只能插入和查詢的資料庫,數據不能被修改和刪除,並且這個資料庫沒有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 在每個物理節點上,省去軟件的編譯和安裝環節。
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