中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站建設(shè)的前景長沙優(yōu)化網(wǎng)站廠家

網(wǎng)站建設(shè)的前景,長沙優(yōu)化網(wǎng)站廠家,汕頭網(wǎng)站推廣找誰,網(wǎng)站和網(wǎng)頁的設(shè)計原則關(guān)于 Consul 服務(wù) Consul是Go語言寫的開源的服務(wù)發(fā)現(xiàn)軟件Consul具有服務(wù)發(fā)現(xiàn)、健康檢查、 服務(wù)治理、微服務(wù)熔斷處理等功能 Consul 部署方式1: 直接在linux 上面部署 consul 集群 1 )下載 在各個服務(wù)器上 下載 consul 后解壓并將其目錄配置到環(huán)境變量中&#xff…

關(guān)于 Consul 服務(wù)

  • Consul是Go語言寫的開源的服務(wù)發(fā)現(xiàn)軟件
  • Consul具有服務(wù)發(fā)現(xiàn)、健康檢查、 服務(wù)治理、微服務(wù)熔斷處理等功能

Consul 部署方式1: 直接在linux 上面部署 consul 集群


1 )下載

  • 在各個服務(wù)器上 下載 consul 后解壓并將其目錄配置到環(huán)境變量中,方便調(diào)用 consul 命令

2 )部署: server端與搭建集群

  • 準(zhǔn)備3臺服務(wù)器

服務(wù)器 啟動

  • server_1
    • $ consul agent -server -bootstrap-expect 3 -node=server_1 -bind=192.168.1.10 -ui -data-dir=/root/consul_dir/data -client 0.0.0.0
      • -server 表示啟動的是服務(wù)端
      • -bootstrap-expect 3 表示待啟動的服務(wù)數(shù)量
      • -node 指定節(jié)點的名稱
      • -bind 指定綁定的當(dāng)前的ip地址
      • -ui 表示可以在web中訪問
      • -data-dir 指定的存儲目錄
      • -client 0.0.0.0 表示所有客戶端都可加入
  • server_2
    • $ consul agent -server -bootstrap-expect 3 -node=server_2 -bind=192.168.1.11 -ui -data-dir=/root/consul_dir/data -client 0.0.0.0
      • 可以繼續(xù)在后面追加 -join 參數(shù)來追加到集群
      • 目前不這么做,參考下面拆解
  • server_3
    • $ consul agent -server -bootstrap-expect 3 -node=server_3 -bind=192.168.1.12 -ui -data-dir=/root/consul_dir/data -client 0.0.0.0

服務(wù)器 加入

  • server_2

    • $ consul join 192.168.1.10
  • server_3

    • $ consul join 192.168.1.10

基于以上server端對應(yīng)的集群搭建好了

3 )部署: client端與加入搭建集群

  • 準(zhǔn)備1臺客戶端

客戶端 啟動

  • client_1
    • $ consul agent -data-dir=/root/consul_dir/data -node=client_1 -bind=192.168.1.13 -ui -client 0.0.0.0

客戶端 加入

  • client-01:
    • $ consul join 192.168.1.10

Consul 部署方式2: Docker 上面部署 consul 集群

和 Linux 里面的部署流程,基本一致

1 )文檔

  • https://hub.docker.com/_/consul

2 )下載鏡像

  • $ docker pull consul

3 )部署

  • 3.1 啟動創(chuàng)建第一個節(jié)點 consul1容器

    • $ docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect=3 -ui -bind=0.0.0.0 -client=0.0.0.0
      • 這個指定了端口,比較麻煩
    • $ docker run --name consul1 -d -p 8500:8500 consul agent -server -bootstrap-expect=3 -ui -bind=0.0.0.0 -client=0.0.0.0
      • 這個比較推薦
  • 3.2 啟動第二個容器前需要找到 consul1容器的ip地址

    • 方法1
      • $ docker network ls 找到網(wǎng)絡(luò)列表
      • $ docker inspect NETWORKID 一般是 bridge 的網(wǎng)絡(luò)
    • 方法2
      • $ docker inspect --format='{{.NetworkSettings.IPAddress}}' consul1
      • 推薦
    • 假設(shè)找到的 ip 是: 192.168.1.10
  • 3.3 啟動第二個節(jié)點(端口8501), 加入到 consul1

    • $ docker run --name consul2 -d -p 8501:8500 consul agent -server -ui -bootstrap-expect=3 -bind=0.0.0.0 -client=0.0.0.0 -join 192.168.1.10
  • 3.4 啟動第三個節(jié)點(端口8502), 加入到 consul1

    • $ docker run --name consul2 -d -p 8502:8500 consul agent -server -ui -bootstrap-expect=3 -bind=0.0.0.0 -client=0.0.0.0 -join 192.168.1.10
  • 3.5 啟動一個consul客戶端(端口8503), 加入到 consul1

    • $ docker run --name consul_client1 -d -p 8503:8500 consul agent -ui -bind=0.0.0.0 -client=0.0.0.0 -join 192.168.1.10
    • 客戶端可以不指定端口

4 )驗證

  • 目前3個服務(wù)端和1個服務(wù)器端都做好了,驗證一下
    • $ docker ps
  • 進入一個consul中查看
    • $ docker exec -it consul1 consul members
    • 可查看到集群的信息
  • 訪問
    • xxx.xxx.xxx.xxx:xxxx
      • 上面任意一臺機器ip和端口都可訪問
  • 如果里面用到了微服務(wù),并發(fā)量不大的情況下,可以把多個consul服務(wù)端放在一臺機器上
    • 如果并發(fā)量比較大,就需要把consul部署在多臺服務(wù)器上
    • 部署到一臺服務(wù)器的好處是,容器之間通信比較方便,默認(rèn)是通過 bridge 網(wǎng)絡(luò)橋接

在多臺服務(wù)器搭建consul集群

1 )直接在 linux 服務(wù)器上運行 consul

  • 同上方式,不再復(fù)述

2 )仍舊選擇 docker 平臺

  • 注意,在 -join 時,涉及到不同主機的通信,需要借助物理的ip
  • 可以把docker容器直接映射在當(dāng)前物理機上,使用 --net=host 參數(shù),例如
    docker run --net=host -e CONSUL_BIND_INTERFACE=ens33 -h=192.168.1.10 --name consul1 -v /consul_server/data:/consul/data consul agent -server -bootstrap-expect=3 -ui -bind=192.168.1.10 -client=0.0.0.0
    
    docker run --net=host -e CONSUL_BIND_INTERFACE=ens33 -h=192.168.1.11 --name consul2 -v /consul_server/data:/consul/data consul agent -server -bootstrap-expect=3 -ui -bind=192.168.1.11 -client=0.0.0.0 -join 192.168.1.10
    
    docker run --net=host -e CONSUL_BIND_INTERFACE=ens33 -h=192.168.1.12 --name consul3 -v /consul_server/data:/consul/data consul agent -server -bootstrap-expect=3 -ui -bind=192.168.1.12 -client=0.0.0.0 -join 192.168.1.10
    
  • 如果要后臺運行 nohup + 上面命令 + &
    nohup docker run --net=host -e CONSUL_BIND_INTERFACE=ens33 -h=192.168.1.10 --name consul1 -v /consul_server/data:/consul/data consul agent -server -bootstrap-expect=3 -ui -bind=192.168.1.10 -client=0.0.0.0 &
    
    nohup docker run --net=host -e CONSUL_BIND_INTERFACE=ens33 -h=192.168.1.11 --name consul2 -v /consul_server/data:/consul/data consul agent -server -bootstrap-expect=3 -ui -bind=192.168.1.11 -client=0.0.0.0 -join 192.168.1.10 &
    
    nohup docker run --net=host -e CONSUL_BIND_INTERFACE=ens33 -h=192.168.1.12 --name consul3 -v /consul_server/data:/consul/data consul agent -server -bootstrap-expect=3 -ui -bind=192.168.1.12 -client=0.0.0.0 -join 192.168.1.10 &
    
    nohup docker run --net=host -e CONSUL_BIND_INTERFACE=ens33 -h=192.168.1.13 --name consul4 consul agent -bind=192.168.1.13 -client=0.0.0.0 -join 192.168.1.10 &
    
  • 相當(dāng)于在物理機上運行consul, 注意上述ip可替換成hostname, 需要配置hostname, 因為ip可能會變化
  • 以上consul集群部署好之后,就可以準(zhǔn)備微服務(wù)集群和API網(wǎng)管集群了

Consule集群結(jié)合Swarm集群部署微服務(wù)項目


關(guān)于整體架構(gòu)分層

  • A. 各個客戶端 訪問nginx

  • B. nginx 服務(wù)器,用于總體轉(zhuǎn)發(fā)服務(wù)

  • C. API服務(wù)網(wǎng)關(guān)集群

    • API服務(wù)網(wǎng)關(guān)可以配置到微服務(wù)集群中,這樣就可以減少通信相關(guān)配置,具體看當(dāng)時網(wǎng)絡(luò)環(huán)境
    • 需要注冊到 consul
  • D. 微服務(wù)集群: 各類應(yīng)用程序微服務(wù)

    • 每個微服務(wù)需要注冊到consul
  • E. consul服務(wù)注冊集群

    • 用于服務(wù)發(fā)現(xiàn)管理
  • F. 數(shù)據(jù)庫集群

    • 目前數(shù)據(jù)庫沒有做集群處理
  • 以下步驟是大體步驟,比較粗略,忽略一些細(xì)節(jié)贅述,僅供參考

1 )將各個微服務(wù)項目打包,比如goWeb應(yīng)用, 這個步驟是前置任務(wù)

  • 檢查各個服務(wù)提供連接的配置信息,檢查部署環(huán)境對應(yīng)的配置信息是否正確
  • 如果微服務(wù)鏡像中配置了支持打包, 比如 Dockerfile中, 則忽略此步驟
  • 如果在windows下開發(fā),需要打包成linux程序
    • filename : 文件名
      set CGO_ENABLED=0
      set GOOS=linux
      set GOARCH=amd64
      go build -o filename main.go
      
  • 將文件上傳,如果不是docker部署,需要將服務(wù)器的目錄設(shè)置為可執(zhí)行
    • $ chmod -R 777 目錄
  • 執(zhí)行項目 $ nohup ./filename &
  • 驗證可正常運行

2 )準(zhǔn)備mysql以及redis數(shù)據(jù)庫等環(huán)境

  • 啟動 mysql
    • $ docker run --name ityingMysql -p 3306:3306 -v /root/mysql/conf.d:/etc/mysql/conf.d -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
  • 啟動 redis
    • $ docker run -p 6379:6379 --name redis -v /docker/redis/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data --restart=always -d redis redis-server /etc/redis/redis.conf

3 )整理微服務(wù)應(yīng)用

3.1 microA程序的 A微服務(wù)

配置dockerfile,簡單示例僅供參考 micro_a_Dockerfile

FROM centos
ADD /wwwroot/micro_a.tar.gz /root
WORKDIR /root
RUN chmod -R 777 micro_a
WORKDIR /root/micro_a
ENTRYPOINT ["./micro_a"]

3.2 microB程序 B微服務(wù)

配置dockerfile,簡單示例僅供參考 micro_b_Dockerfile

FROM centos
ADD /wwwroot/micro_b.tar.gz /root
WORKDIR /root
RUN chmod -R 777 micro_b
WORKDIR /root/micro_b
ENTRYPOINT ["./micro_b"]

3.3 microC程序 C微服務(wù)

配置dockerfile,簡單示例僅供參考 micro_c_Dockerfile

FROM centos
ADD /wwwroot/micro_c.tar.gz /root
WORKDIR /root
RUN chmod -R 777 micro_c
WORKDIR /root/micro_c
ENTRYPOINT ["./micro_c"]

4 )對微服務(wù)進行 鏡像build

  • $ docker build -f micro_a_Dockerfile -t micro_a_img:latest .
  • $ docker build -f micro_b_Dockerfile -t micro_b_img:latest .
  • $ docker build -f micro_c_Dockerfile -t micro_c_img:latest .

5 )配置微服務(wù) docker-compose.yml

version: "3"
services:# 配置 redis 數(shù)據(jù)庫redis:image: redisrestart: alwaysdeploy:replicas: 1 #副本數(shù)量# 配置 a 微服務(wù)micro_a:image: micro_a_imgrestart: alwaysdeploy:replicas: 6 # 副本數(shù)量resources: # 資源limits: #配置cpucpus: "0.3" # 設(shè)置該容器最多只能使用 30% 的 CPUmemory: 500M # 設(shè)置該容器最多只能使用 500M內(nèi)存restart_policy: #定義容器重啟策略, 用于代替 restart 參數(shù)condition: on-failure #只有當(dāng)容器內(nèi)部應(yīng)用程序出現(xiàn)問題才會重啟# 配置 b 微服務(wù)micro_b:image: micro_b_imgrestart: alwaysdeploy:replicas: 6 #副本數(shù)量resources: #資源limits: #配置cpucpus: "0.3" # 設(shè)置該容器最多只能使用 30% 的 CPUmemory: 500M # 設(shè)置該容器最多只能使用 500M內(nèi)存restart_policy: #定義容器重啟策略, 用于代替 restart 參數(shù)condition: on-failure #只有當(dāng)容器內(nèi)部應(yīng)用程序出現(xiàn)問題才會重啟depends_on:- captcha_micro# 配置 c 微服務(wù)micro_c:image: micro_c_imgrestart: alwaysports:- 8080:8080deploy:replicas: 6 #副本數(shù)量resources: #資源limits: #配置cpucpus: "0.3" # 設(shè)置該容器最多只能使用 30% 的 CPUmemory: 500M # 設(shè)置該容器最多只能使用 500M內(nèi)存restart_policy: #定義容器重啟策略, 用于代替 restart 參數(shù)condition: on-failure #只有當(dāng)容器內(nèi)部應(yīng)用程序出現(xiàn)問題才會重啟depends_on:- micro_b # 依賴b微服務(wù)
  • 注: 上面用到了redis數(shù)據(jù)庫, 但不是集群,當(dāng)前只是一個簡單的服務(wù)

6 )創(chuàng)建集群

  • 關(guān)鍵命令如下
    • $ docker swarm init --advertise-addr 192.168.1.10
    • $ docker swarm join-token worker
    • $ docker swarm join-token manager
  • 具體配置不再贅述,參考前文描述

7 )部署項目

  • $ docker stack deploy --compose-file docker-compose.yml microSwarm
    • microSwarm 是你給這套微服務(wù)集群起的響亮亮的名字
  • 進行各個服務(wù)的啟動后的驗證,不再贅述

8 )調(diào)用測試

  • 客戶端連接 consul 服務(wù)器實現(xiàn)調(diào)試, 不再贅述

9 )注意事項

  • 如果是前后端分離的項目
    • 先集成運維環(huán)境,并測試, 這里一般包含集群
    • 再部署后端服務(wù),并測試服務(wù)的連通性
    • 再部署前端服務(wù),并測試接口服務(wù)的正常
  • 如果,微服務(wù)環(huán)境運維環(huán)境復(fù)雜
    • 還要檢查微服務(wù)的版本迭代是否正常,否則上線可能會遇到問題
http://www.risenshineclean.com/news/40742.html

相關(guān)文章:

  • 建設(shè)網(wǎng)站需要哪些流程百度seo費用
  • 制造業(yè)人才網(wǎng)正規(guī)seo排名多少錢
  • 公眾平臺注冊網(wǎng)站怎么優(yōu)化搜索
  • 網(wǎng)站icp備案 年檢2345網(wǎng)址導(dǎo)航中國最好
  • 如何開發(fā)一個app建設(shè)一個網(wǎng)站關(guān)鍵詞搜索熱度查詢
  • 廣西搜索推廣東莞網(wǎng)絡(luò)優(yōu)化排名
  • 網(wǎng)站IcP在哪查今日剛剛發(fā)生的國際新聞
  • 哈爾濱網(wǎng)站建設(shè)1元錢2021年經(jīng)典營銷案例
  • 做企業(yè)網(wǎng)站的第一步需要啥紹興seo優(yōu)化
  • 四川seo整站優(yōu)化吧谷歌瀏覽器官方app下載
  • 國外做美食視頻網(wǎng)站谷歌海外推廣怎么做
  • 淄博網(wǎng)站建設(shè)推廣優(yōu)化自媒體賬號申請
  • 網(wǎng)站制作系統(tǒng)長沙官網(wǎng)seo技術(shù)廠家
  • 黃石規(guī)劃建設(shè)局網(wǎng)站一鍵優(yōu)化清理手機
  • 做一個網(wǎng)上商城網(wǎng)站建設(shè)費用多少錢市場調(diào)研分析報告范文
  • 網(wǎng)站開發(fā)素材包網(wǎng)站的宣傳與推廣
  • 網(wǎng)站建設(shè)后臺管理怎么進入烏魯木齊seo
  • 商城網(wǎng)站模版代碼重慶seo整站優(yōu)化方案范文
  • 開發(fā)動態(tài)網(wǎng)站有哪些技術(shù)百度人工客服電話24小時
  • 網(wǎng)站開發(fā)全包免費手機優(yōu)化大師下載安裝
  • 外貿(mào)品牌網(wǎng)站設(shè)計公司鼓樓網(wǎng)頁seo搜索引擎優(yōu)化
  • 網(wǎng)站開發(fā)需求列表2021最火營銷方案
  • 怎么可以自己做網(wǎng)站被百度收到網(wǎng)站seo公司哪家好
  • 石家莊網(wǎng)站建設(shè)價格低廣州今日新聞頭條新聞
  • 表白網(wǎng)站怎樣做有創(chuàng)意品牌推廣活動策劃方案
  • 公路建設(shè)管理辦公室網(wǎng)站中國最好的營銷策劃公司
  • 石家莊做網(wǎng)站100個商業(yè)經(jīng)典案例
  • 網(wǎng)站開發(fā)文檔要求郴州網(wǎng)站seo外包
  • 個人簡歷免費制作網(wǎng)站肥城市區(qū)seo關(guān)鍵詞排名
  • 怎樣做邪惡網(wǎng)站臨沂百度代理公司有幾個