激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 詳解基于docker 如何部署surging分布式微服務引擎

詳解基于docker 如何部署surging分布式微服務引擎

2021-02-28 16:49fanly11 服務器知識

這篇文章主要介紹了詳解基于docker 如何部署surging分布式微服務引擎,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、前言

轉眼間surging 開源已經有1年了,經過1年的打磨,surging已從最初在window 部署的分布式微服務框架,到現在的可以在docker部署利用rancher 進行服務編排的分布式微服務引擎,再把業務進行剝離, 通過配置路徑就能驅動加載業務模塊,這樣的細粒度設計,能更加靈活從業務中針對于對象加以細分,能更加靈活的拆分聚合服務。而這篇文章我們來談談基于docker 如何部署

surging源碼下載

2、概述

容器,就是用來存放鏡像的器皿,而鏡像是構建成的一個輕量的、獨立的、可執行的包,包括了執行它所需要的所有東西:代碼、運行環境、系統工具、系統庫、設置。

程序被構建成鏡像放到容器中,那么它所依賴的下層環境就不再重要了。它可以在任何地方運行,甚至在混合云環境下也可以。所以為何容器能流行起來, 而容器技術興起讓docke也漸漸的映入大家的眼簾,

詳解基于docker 如何部署surging分布式微服務引擎

那么docker又是什么呢?

  1. docker是基于go語言開發并開源的容器引擎
  2. docker將應用軟件運行時所需的一切都打包成互相隔離的容器
  3. docker可以自動執行并配置開發/線上環境,快速構建,測試和運行復雜的多容器應用程序
  4. 對擁有數千個節點或容器的應用程序,docker也能快速的擴展和調配
  5. 可以運行在主流的linux系統,mac以及windows上,并且保證無論軟件在哪里部署,都能正常運行并得到相同的結果

相關概念介紹

image鏡像和container容器:你可以把兩者理解為類和實例對象,或者是iso系統鏡像和虛擬機的關系。不同的image所包含的軟件或者環境是不同的,但是你可以使用dockerfile(docker特有語法規則所創建的文件)進行管理。而container則是以image作為模板,可以獨立運行的微型系統,一個image可以創建出來多個container容器的實例

registry:docker hub鏡像倉庫,為每個人提供龐大的鏡像資源進行拉取和使用

dockerfile:是一個將鏡像命令組合在一起的文件,用于image的自動構建

3、環境搭建

系統環境

宿主機:windows 10 專業版

linux服務器: centos 3.10

1.安裝docker

docker 要求 centos 系統的內核版本高于 3.10 ,查看本頁面的前提條件來驗證你的centos 版本是否支持 docker 。

通過 uname -r 命令查看你當前的內核版本

?
1
[root@runoob ~]# uname -r 3.10.0-862.e17.x86_64

# yum install docker-engine 安裝docker包

安裝成功后,使用docker version命令查看是否安裝成功,安裝成功后------如下圖

詳解基于docker 如何部署surging分布式微服務引擎

啟動 docker

?
1
systemctl start docker

查看docker信息,如下圖

?
1
systemctl status docker

詳解基于docker 如何部署surging分布式微服務引擎

測試運行 hello-world

?
1
#docker run hello-world

2.安裝rancher

下載鏡像

?
1
docker pull rancher/server

啟動 rancher

?
1
docker run -d --restart=always -p 8080:8080 rancher/server

安裝成功后,通過http://ip:8080訪問,如下圖所示

詳解基于docker 如何部署surging分布式微服務引擎

3.安裝rabbitmq

 下載鏡像

?
1
docker run -d --restart=always -p 8080:8080 rancher/server

 

復制代碼 代碼如下:

 #docker run -d --name rabbitmq --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \rabbitmq:management
 

 

安裝成功后,通過http://ip:15672訪問,如下圖所示

詳解基于docker 如何部署surging分布式微服務引擎

4.安裝consul

下載鏡像

?
1
#docker pull docker.io/consul:latest

創建 consul 配置

?
1
#vim /opt/platform/consul/server.json
?
1
2
3
4
5
6
7
8
9
10
11
12
{
  "datacenter": "quark-consul",
  "data_dir": "/consul/data",
  "server": true,
  "ui": true,
  "bind_addr": "192.168.249.162",
  "client_addr": "192.168.249.162",
  "bootstrap_expect": 1,
  "retry_interval": "10s",
  "rejoin_after_leave": false,
  "skip_leave_on_interrupt": true
}

配置說明

官方在啟動容器的時候是將一部分配置作為 docker run 的參數,而我是把參數寫到了配置文件里。

  1. datacenter:數據中心名稱(庫名)
  2. data_dir:數據存儲目錄
  3. server:運行在server模式
  4. ui:使用ui界面
  5. bind_addr:內部集群通信綁定的地址。默認是 0.0.0.0 ,如果有多塊網卡,需要指定,否則啟動報錯
  6. client_addr:客戶端接口綁定的地址,默認是 127.0.0.1 ;
  7. retry_join:重新加入集群
  8. retry_interval:重試時間
  9. rejoin_after_leave:在離開集群之后才重試加入
  10. skip_leave_on_interrupt:在啟動后,是否 ctrl+c 優雅退出,我們是容器模式,所以不用管,直接 true 就好了。

啟動 consul-server

 

復制代碼 代碼如下:
docker run -d --net=host --name consul -v /opt/platform/consul/config:/consul/config -v /opt/platform/consul/data:/consul/data consul agent

 

安裝成功后,通過http://ip:8500訪問,如下圖所示

詳解基于docker 如何部署surging分布式微服務引擎

5. 安裝dotnetcore 2.1 runtime

下載鏡像

?
1
#sudo docker pull microsoft/dotnet:2.1-runtime

啟動  

?
1
#sudo docker run -it microsoft/dotnet:2.1-runtime

三、部署程序

 1. 部署surging引擎,無需引用任何業務模塊,新建dockerfile文件

?
1
2
3
4
from microsoft/dotnet:2.1-runtime
workdir /app
copy . .
entrypoint ["dotnet", "surging.services.server.dll"]

發布程序

?
1
dotnet publish -r centos.7-x64 -c release

使用dockerfile創建鏡像

?
1
#docker build -t surgingserver .

啟動

?
1
2
#docker run --name surgingserver --env mapping_ip=192.168.249.162 --env mapping_port=198 --env rootpath=/home/fanly --env
register_conn=192.168.249.162:8500 --env eventbusconnection=172.17.0.4 --env surging_server_ip=0.0.0.0 -v /home/fanly:/home/fanly -it -p 198:198 surgingserver

配置說明

  1. mapping_ip:映射的外部ip(環境變量)
  2. mapping_port :映射的外部端口 (環境變量)
  3. rootpath:業務模塊存儲的根路徑 (環境變量)
  4. register_conn:注冊中心地址 (環境變量)
  5. eventbusconnection:eventbus 地址 (環境變量)
  6. surging_server_ip:容器內部ip (環境變量)

啟動后在rancher如下圖所示

詳解基于docker 如何部署surging分布式微服務引擎

因為方便,把宿主機的目錄進行了掛載,microsurging 為分布式微服務引擎,modules 為業務模塊目錄,surgingapi為網關

詳解基于docker 如何部署surging分布式微服務引擎

2. 部署surging網關, 新建dockerfile文件

?
1
2
3
4
from microsoft/dotnet:2.1-runtime
workdir /app
copy . .
entrypoint ["dotnet", "surging.apigateway.dll"]

發布程序

?
1
dotnet publish -r centos.7-x64 -c release

使用dockerfile創建鏡像

?
1
docker build -t surgingapi .

啟動

 

復制代碼 代碼如下:
#docker run --name surgingapi -it -p 729:729 --env register_conn=192.168.249.162:8500 surgingapi

 

啟動后在rancher如下圖所示

詳解基于docker 如何部署surging分布式微服務引擎

可以通過http://ip:729進行訪問

詳解基于docker 如何部署surging分布式微服務引擎

詳解基于docker 如何部署surging分布式微服務引擎

然后可以通過postman 來測試網關,如下圖

詳解基于docker 如何部署surging分布式微服務引擎

四、總結

通過1年的開發,surging 也趨于完善,性能非常不錯,平均訪問在0.12ms 左右

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/fanliang11/p/9191793.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜神马电影网 | 鲁丝片一区二区三区免费入口 | 亚洲最新色| 欧美亚洲国产成人综合在线 | 史上最强炼体老祖动漫在线观看 | 在线91视频 | 国产69精品久久久久9999不卡免费 | xnxx 日本19| 日本欧美视频 | 91短视频在线免费观看 | 国产成人精品网站 | 涩涩99| 国产精品一品二区三区四区18 | 国产午夜免费 | 精品黑人一区二区三区国语馆 | 羞羞的视频 | 欧美一级黄视频 | 久久国产精品成人免费网站 | 久色免费 | 视频一区二区在线观看 | 羞羞视频免费入口网站 | 中国洗澡偷拍在线播放 | 成人福利在线看 | 韩毛片| 国产资源在线播放 | 亚洲成人国产综合 | 欧美一级美片在线观看免费 | 免费观看黄视频 | www.99re14.com | 91精品国产综合久久男男 | 久久精品视频日本 | 国产精品免费一区二区三区在线观看 | 日本在线不卡免费 | 凹凸成人精品亚洲精品密奴 | 成年人小视频在线观看 | 欧洲a级片 | 久久精品国产99国产精品亚洲 | 性插视频 | 日本68xxxx| 久久精品黄| 一本色道久久综合狠狠躁篇适合什么人看 |