PiggyMetrics微服务搭建

PiggyMetrics微服务搭建

克隆PiggyMetrics项目

1、本地安装git或者tourtisgit

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

PiggyMetrics微服务搭建_第1张图片

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

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

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

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

在当前登陆用户目录下面的.m目录下面的settings.xml文件,在段落里面假如下面段落


alimaven

alimaven

http://maven.aliyun.com/nexus/content/groups/public/

central

使用maven编译PiggyMetrics项目

切换到PiggyMetrics项目目录执行mvn package -DskipTests命令打包服务

PiggyMetrics微服务搭建_第2张图片

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


PiggyMetrics微服务搭建_第3张图片

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可执行文件,点击下一步运行安装程序

PiggyMetrics微服务搭建_第4张图片

②全部勾选,点击下一步


PiggyMetrics微服务搭建_第5张图片

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


PiggyMetrics微服务搭建_第6张图片

④执行Docker Quickstart Terminal启动docker

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


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

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

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


PiggyMetrics微服务搭建_第7张图片

处理办法如下:

①执行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 #查看服务配置服务的日志文件



PiggyMetrics微服务搭建_第8张图片


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

输入用户名user密码admin

PiggyMetrics微服务搭建_第9张图片



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


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

guest guest

PiggyMetrics微服务搭建_第10张图片


PiggyMetrics微服务搭建_第11张图片

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


PiggyMetrics微服务搭建_第12张图片


mogodb数据检查可以使用


PiggyMetrics微服务搭建_第13张图片


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

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这五个服务会注册在服务注册中心,如果没有注册成功,整个服务不能完整运行。


PiggyMetrics微服务搭建_第14张图片

API网关账户查看


PiggyMetrics微服务搭建_第15张图片


监控查看

http://192.168.99.100:9000/hystrix

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



PiggyMetrics微服务搭建_第16张图片



PiggyMetrics微服务搭建_第17张图片


PiggyMetrics微服务搭建_第18张图片

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

你可能感兴趣的:(PiggyMetrics微服务搭建)