PiggyMetrics微服务搭建

PiggyMetrics微服务搭建

克隆PiggyMetrics项目

1、本地安装git或者tourtisgit

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

我本地项目路径为F:\gogs-pigg,你可以clone到本地任意目录

安装maven并设置maven仓库地址为阿里云

1、maven的安装自动看相关文档,此文不做讲解

2、在安装完maven之后,设置mven仓库地址为阿里云仓库地址[http://maven.aliyun.com/nexus/content/groups/public/]

在当前登陆用户目录下面的.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项目目录执行mvn package -DskipTests命令打包服务

编译打包完成之后,在每个子项目的target目录下面会生成一个jar包如图


account-service服务dockefile介绍


FROM java:8-jre #基于java:8-jre镜像进行构建

MAINTAINER Alexander Lukyanchikov#作者信息

CMD ["java", "-Xmx200m", "-jar", "/app/account-service.jar"] #account-service容器启动时的运行命令

EXPOSE 6000 #account-service容器对外暴露6000端口号

其它服务的dockerfile的文件差不多,都是基于java:8-jre镜像进行构建不同的服务镜像,有兴趣的同学可以自行查看dockerfile文件。

使用docker-compose 容器编排工具对服务进行构建和启动

本项目中有两个docker-compose文件分别是docker-compose-base.yml和docker-compose.yml文件

1、docker-compose-base.yml文件介绍,此组服务作为基础服务启动主要包括(rabbitmq消息队列服务、config服务配置服务、gateway网关服务、mongodb存储服务)

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

services: #定义docker容器服务

rabbitmq:#定义消息队列服务

image: rabbitmq:3-management #容器启动时调用的镜像

restart: always #当docker服务启动之后自动重启容器

ports: #定义容器端口号和宿主机的映射关系

- 15672:15672

- 5672:5672

logging:

options:

max-size: "10m"

max-file: "10"

config: #服务配置服务器

build: config #congfig服务构建目录

image: sqshq/piggymetrics-config #config服务容器镜像构建名称

environment: #定义config服务的环境变量

CONFIG_SERVICE_PASSWORD: admin

restart: always

ports:

- 8888:8888

logging:

options:

max-size: "10m"

max-file: "10"

registry: #服务注册服务名称

build: registry #构建服务注册docker镜像的dockerfile存放目录

image: sqshq/piggymetrics-registry #服务注册镜像名称

environment:

CONFIG_SERVICE_PASSWORD: admin

restart: always

depends_on: [config]

ports:

- 8761:8761

logging:

options:

max-size: "10m"

max-file: "10"

gateway: #API网关服务名

environment: 

CONFIG_SERVICE_PASSWORD: admin

build: gateway #api网关服务镜像构建目录

image: sqshq/piggymetrics-gateway

restart: always

depends_on: [config]

ports:

- 80:4000

logging:

options:

max-size: "10m"

max-file: "10"

data-mongodb: #mogodbdb服务名称

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,否则构建的mogodb镜像无法正常启动。

2、docker-compose.yml文件介绍,此组服务主要包括(auth-service安全认证服务、account-service账户服务、statistics-service账户统计服务、notification-service通知服务、monitoring监控服务)

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环境

1、下载dockertoolbox,针对windows7的安装环境,windos10直接下载官网的msi包安装

2、国内dockertoolbox下载地址https://get.daocloud.io/toolbox/(官网下载地址https://www.docker.com/products/docker-toolbox)

3、本次安装以DockerToolbox-1.13.0.exe为例

①点击DockerToolbox-1.13.0.exe可执行文件,点击下一步运行安装程序

②全部勾选,点击下一步


③点击下一步,安装dockr完成


④执行Docker Quickstart Terminal启动docker

⑤执行Kitematic (Alpha)图形浏览工具


通过docker-compse编排工具构建docker镜像

通过cmd命令进行操作,可以通过命令docker-compose查看docker-compose的帮助

通过 docker-compose -f docker-compose-base.yml build 执行命令时候报错


处理办法如下:

①执行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>

然后执行输出命令:

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


执行构建各个服务的镜像命令docker-compose -f docker-compose-base.yml -f docker-compose.yml build

构建完成之后会生成对应的镜像如图


mongodb、gateway、confg、registry、notification-service、auth-service、monitoring、statistics-service、account-service总共9个镜像


启动基础服务命令如下:

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>

本次启动了消息队列服务、配置服务、mongodb服务、注册服务、网关服务

插件各个服务是否正常启动,可以查看日志文件

docker-compose -f docker-compose-base.yml logs 服务名(docker-compose文件里面定义的服务名)

如:docker-compose -f docker-compose-base.yml logs config #查看服务配置服务的日志文件




检查config配置文件是否正常启动:

输入用户名user密码admin



能正常获取gateway服务的配置文件


检查消息队列是否正常启动:

guest guest


检查服务注册地址:http://192.168.99.100:8761/



mogodb数据检查可以使用



启动账户服务、统计服务、通知服务和监控服务

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>

基础服务+账户体系服务启动完毕之后,一共启动10个容器运行

ACCOUNT-SERVICE 、ACCOUNT-SERVICE、GATEWAY、NOTIFICATION-SERVICE、STATISTICS-SERVICE这五个服务会注册在服务注册中心,如果没有注册成功,整个服务不能完整运行。


API网关账户查看



监控查看

http://192.168.99.100:9000/hystrix

在输入兰输入数据地址 http://192.168.99.100:8989






至此整个搭建环境已经正常运行转,本项目主要用于属于整个微服务架构的流程的学习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容