PiggyMetrics微服務(wù)搭建

PiggyMetrics微服務(wù)搭建

克隆PiggyMetrics項目

1、本地安裝git或者tourtisgit

2区拳、git clone https://github.com/huangmeng4520/PiggyMetrics.git

我本地項目路徑為F:\gogs-pigg拘领,你可以clone到本地任意目錄

安裝maven并設(shè)置maven倉庫地址為阿里云

1、maven的安裝自動看相關(guān)文檔樱调,此文不做講解

2约素、在安裝完maven之后,設(shè)置mven倉庫地址為阿里云倉庫地址[http://maven.aliyun.com/nexus/content/groups/public/]

在當(dāng)前登陸用戶目錄下面的.m目錄下面的settings.xml文件笆凌,在<mirrors></mirrors>段落里面假如下面段落


<mirror>

<id>alimaven</>

<name>alimaven</name>

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

使用maven編譯PiggyMetrics項目

切換到PiggyMetrics項目目錄執(zhí)行mvn package -DskipTests命令打包服務(wù)

編譯打包完成之后圣猎,在每個子項目的target目錄下面會生成一個jar包如圖


account-service服務(wù)dockefile介紹


FROM java:8-jre #基于java:8-jre鏡像進(jìn)行構(gòu)建

MAINTAINER Alexander Lukyanchikov#作者信息

CMD ["java", "-Xmx200m", "-jar", "/app/account-service.jar"] #account-service容器啟動時的運行命令

EXPOSE 6000 #account-service容器對外暴露6000端口號

其它服務(wù)的dockerfile的文件差不多,都是基于java:8-jre鏡像進(jìn)行構(gòu)建不同的服務(wù)鏡像菩颖,有興趣的同學(xué)可以自行查看dockerfile文件样漆。

使用docker-compose 容器編排工具對服務(wù)進(jìn)行構(gòu)建和啟動

本項目中有兩個docker-compose文件分別是docker-compose-base.yml和docker-compose.yml文件

1、docker-compose-base.yml文件介紹晦闰,此組服務(wù)作為基礎(chǔ)服務(wù)啟動主要包括(rabbitmq消息隊列服務(wù)放祟、config服務(wù)配置服務(wù)、gateway網(wǎng)關(guān)服務(wù)呻右、mongodb存儲服務(wù))

version: '2' #采用docker-comose v2版本語法

services: #定義docker容器服務(wù)

rabbitmq:#定義消息隊列服務(wù)

image: rabbitmq:3-management #容器啟動時調(diào)用的鏡像

restart: always #當(dāng)docker服務(wù)啟動之后自動重啟容器

ports: #定義容器端口號和宿主機的映射關(guān)系

- 15672:15672

- 5672:5672

logging:

options:

max-size: "10m"

max-file: "10"

config: #服務(wù)配置服務(wù)器

build: config #congfig服務(wù)構(gòu)建目錄

image: sqshq/piggymetrics-config #config服務(wù)容器鏡像構(gòu)建名稱

environment: #定義config服務(wù)的環(huán)境變量

CONFIG_SERVICE_PASSWORD: admin

restart: always

ports:

- 8888:8888

logging:

options:

max-size: "10m"

max-file: "10"

registry: #服務(wù)注冊服務(wù)名稱

build: registry #構(gòu)建服務(wù)注冊docker鏡像的dockerfile存放目錄

image: sqshq/piggymetrics-registry #服務(wù)注冊鏡像名稱

environment:

CONFIG_SERVICE_PASSWORD: admin

restart: always

depends_on: [config]

ports:

- 8761:8761

logging:

options:

max-size: "10m"

max-file: "10"

gateway: #API網(wǎng)關(guān)服務(wù)名

environment:?

CONFIG_SERVICE_PASSWORD: admin

build: gateway #api網(wǎng)關(guān)服務(wù)鏡像構(gòu)建目錄

image: sqshq/piggymetrics-gateway

restart: always

depends_on: [config]

ports:

- 80:4000

logging:

options:

max-size: "10m"

max-file: "10"

data-mongodb: #mogodbdb服務(wù)名稱

environment:

INIT_DUMP: account-service-dump.js

MONGODB_PASSWORD: admin

build: mongodb

image: sqshq/piggymetrics-mongodb

restart: always

ports:

- 25000:27017

logging:

options:

max-size: "10m"

max-file: "10"

注意:mongodb下面的nit.sh文檔格式必須為unix跪妥,否則構(gòu)建的mogodb鏡像無法正常啟動。

2声滥、docker-compose.yml文件介紹眉撵,此組服務(wù)主要包括(auth-service安全認(rèn)證服務(wù)、account-service賬戶服務(wù)落塑、statistics-service賬戶統(tǒng)計服務(wù)纽疟、notification-service通知服務(wù)、monitoring監(jiān)控服務(wù))

version: '2'

services:

auth-service:

environment:

CONFIG_SERVICE_PASSWORD: admin

NOTIFICATION_SERVICE_PASSWORD: admin

STATISTICS_SERVICE_PASSWORD: admin

ACCOUNT_SERVICE_PASSWORD: admin

MONGODB_PASSWORD: admin

build: auth-service

image: sqshq/piggymetrics-auth-service

restart: always

ports:

- 5000:5000

logging:

options:

max-size: "10m"

max-file: "10"

account-service:

environment:

CONFIG_SERVICE_PASSWORD: admin

ACCOUNT_SERVICE_PASSWORD: admin

MONGODB_PASSWORD: admin

build: account-service

image: sqshq/piggymetrics-account-service

restart: always

# ports:

#? - 6000:6000

expose:

- 6000

logging:

options:

max-size: "10m"

max-file: "10"

statistics-service:

environment:

CONFIG_SERVICE_PASSWORD: admin

MONGODB_PASSWORD: admin

STATISTICS_SERVICE_PASSWORD: admin

build: statistics-service

image: sqshq/piggymetrics-statistics-service

restart: always

ports:

- 7000:7000

logging:

options:

max-size: "10m"

max-file: "10"

notification-service:

environment:

CONFIG_SERVICE_PASSWORD: admin

MONGODB_PASSWORD: admin

NOTIFICATION_SERVICE_PASSWORD: admin

build: notification-service

image: sqshq/piggymetrics-notification-service

restart: always

ports:

- 8000:8000

logging:

options:

max-size: "10m"

max-file: "10"

monitoring:

environment:

CONFIG_SERVICE_PASSWORD: admin

build: monitoring

image: sqshq/piggymetrics-monitoring

restart: always

ports:

- 9000:8080

- 8989:8989

logging:

options:

max-size: "10m"

max-file: "10"

windows7搭建docker環(huán)境

1憾赁、下載dockertoolbox,針對windows7的安裝環(huán)境污朽,windos10直接下載官網(wǎng)的msi包安裝

2、國內(nèi)dockertoolbox下載地址https://get.daocloud.io/toolbox/(官網(wǎng)下載地址https://www.docker.com/products/docker-toolbox)

3龙考、本次安裝以DockerToolbox-1.13.0.exe為例

①點擊DockerToolbox-1.13.0.exe可執(zhí)行文件蟆肆,點擊下一步運行安裝程序

②全部勾選,點擊下一步


③點擊下一步晦款,安裝dockr完成


④執(zhí)行Docker Quickstart Terminal啟動docker

⑤執(zhí)行Kitematic (Alpha)圖形瀏覽工具


通過docker-compse編排工具構(gòu)建docker鏡像

通過cmd命令進(jìn)行操作炎功,可以通過命令docker-compose查看docker-compose的幫助

通過 docker-compose -f docker-compose-base.yml build 執(zhí)行命令時候報錯


處理辦法如下:

①執(zhí)行docker-machine env default命令獲取下面信息

F:\gogs-pigg\PiggyMetrics>docker-machine env default

SET DOCKER_TLS_VERIFY=1

SET DOCKER_HOST=tcp://192.168.99.100:2376

SET DOCKER_CERT_PATH=C:\Users\Administrator\.docker\machine\machines\default

SET DOCKER_MACHINE_NAME=default

SET COMPOSE_CONVERT_WINDOWS_PATHS=true

REM Run this command to configure your shell:

REM? ? @FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i

F:\gogs-pigg\PiggyMetrics>

然后執(zhí)行輸出命令:

SET DOCKER_TLS_VERIFY=1

SET DOCKER_HOST=tcp://192.168.99.100:2376

SET DOCKER_CERT_PATH=C:\Users\Administrator\.docker\machine\machines\default

SET DOCKER_MACHINE_NAME=default

SET COMPOSE_CONVERT_WINDOWS_PATHS=true

@FOR /f "tokens=*" %i IN ('docker-machine env default') DO @%i


執(zhí)行構(gòu)建各個服務(wù)的鏡像命令docker-compose -f docker-compose-base.yml -f docker-compose.yml build

構(gòu)建完成之后會生成對應(yīng)的鏡像如圖


mongodb、gateway缓溅、confg蛇损、registry、notification-service、auth-service淤齐、monitoring束世、statistics-service、account-service總共9個鏡像


啟動基礎(chǔ)服務(wù)命令如下:

F:\gogs-pigg\PiggyMetrics>docker-compose -f docker-compose-base.yml up -d ?#up啟動床玻,-d后臺運行

Creating piggymetrics_rabbitmq_1

Creating piggymetrics_config_1

Creating piggymetrics_data-mongodb_1

Creating piggymetrics_registry_1

Creating piggymetrics_gateway_1

F:\gogs-pigg\PiggyMetrics>

本次啟動了消息隊列服務(wù)、配置服務(wù)沉帮、mongodb服務(wù)锈死、注冊服務(wù)、網(wǎng)關(guān)服務(wù)

插件各個服務(wù)是否正常啟動穆壕,可以查看日志文件

docker-compose -f docker-compose-base.yml logs 服務(wù)名(docker-compose文件里面定義的服務(wù)名)

如:docker-compose -f docker-compose-base.yml logs config #查看服務(wù)配置服務(wù)的日志文件




檢查config配置文件是否正常啟動:

輸入用戶名user密碼admin



能正常獲取gateway服務(wù)的配置文件


檢查消息隊列是否正常啟動:

guest guest


檢查服務(wù)注冊地址:http://192.168.99.100:8761/



mogodb數(shù)據(jù)檢查可以使用



啟動賬戶服務(wù)待牵、統(tǒng)計服務(wù)、通知服務(wù)和監(jiān)控服務(wù)

F:\gogs-pigg\PiggyMetrics>docker-compose -f docker-compose.yml up -d

WARNING: Found orphan containers (piggymetrics_data-mongodb_1, piggymetrics_gateway_1, piggymetrics_registry_1, piggymetrics_config_1, piggymetrics_rabbitmq_1) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.

Creating piggymetrics_account-service_1

Creating piggymetrics_statistics-service_1

Creating piggymetrics_notification-service_1

Creating piggymetrics_auth-service_1

Creating piggymetrics_monitoring_1

F:\gogs-pigg\PiggyMetrics>

基礎(chǔ)服務(wù)+賬戶體系服務(wù)啟動完畢之后喇勋,一共啟動10個容器運行

ACCOUNT-SERVICE 缨该、ACCOUNT-SERVICE、GATEWAY川背、NOTIFICATION-SERVICE贰拿、STATISTICS-SERVICE這五個服務(wù)會注冊在服務(wù)注冊中心,如果沒有注冊成功熄云,整個服務(wù)不能完整運行膨更。


API網(wǎng)關(guān)賬戶查看



監(jiān)控查看

http://192.168.99.100:9000/hystrix

在輸入蘭輸入數(shù)據(jù)地址 http://192.168.99.100:8989






至此整個搭建環(huán)境已經(jīng)正常運行轉(zhuǎn),本項目主要用于屬于整個微服務(wù)架構(gòu)的流程的學(xué)習(xí)缴允。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荚守,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子练般,更是在濱河造成了極大的恐慌矗漾,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薄料,死亡現(xiàn)場離奇詭異敞贡,居然都是意外死亡,警方通過查閱死者的電腦和手機都办,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門嫡锌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人琳钉,你說我怎么就攤上這事势木。” “怎么了歌懒?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵啦桌,是天一觀的道長。 經(jīng)常有香客問我,道長甫男,這世上最難降的妖魔是什么且改? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮板驳,結(jié)果婚禮上又跛,老公的妹妹穿的比我還像新娘。我一直安慰自己若治,他們只是感情好慨蓝,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著端幼,像睡著了一般礼烈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婆跑,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天此熬,我揣著相機與錄音,去河邊找鬼滑进。 笑死犀忱,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扶关。 我是一名探鬼主播峡碉,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驮审!你這毒婦竟也來了鲫寄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤疯淫,失蹤者是張志新(化名)和其女友劉穎地来,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體熙掺,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡未斑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了币绩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜡秽。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖缆镣,靈堂內(nèi)的尸體忽然破棺而出芽突,到底是詐尸還是另有隱情,我是刑警寧澤董瞻,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布寞蚌,位于F島的核電站田巴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏挟秤。R本人自食惡果不足惜壹哺,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望艘刚。 院中可真熱鬧管宵,春花似錦、人聲如沸攀甚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽云稚。三九已至,卻和暖如春沈堡,著一層夾襖步出監(jiān)牢的瞬間静陈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工诞丽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鲸拥,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓僧免,卻偏偏與公主長得像刑赶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子懂衩,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容