基于PiggyMetrics微服务搭建的分布式系统

说明:看下面文档之前先看http://www.jianshu.com/p/e26570d1b297?mType=Group

1、环境

win10、电脑内存大于4G

2、工具安装

git、maven、docker(docker安装过程中最好把git、virtualbox等选项都勾上,一起安装)
docker安装参考:http://www.jianshu.com/p/e26570d1b297?mType=Group

3、docker运行

3.1 docker安装完成后,桌面出现Docker Quickstart Terminal和Kitematic (Alpha)两个快捷方式

首先双击启动Docker Quickstart Terminal,启动完成后,终端会显示一个ip地址192.168.99.100,这个地址就是docker供外部访问的ip。

启动过程中可能会出现如下问题:
boot2docker.iso下载失败,所以需要*下载,或者下载别人共享的镜像,注意版本需要和docker所需要的版本一致,不能下最新的也不能低于所需的版本。
下载完后之后,放入C盘,我的路径是C:\Users\admin.docker\machine\cache
首先情况cache,然后再放入。
参考网站: https://my.oschina.net/aixiaohua/blog/651171

3.2 修改VirtualBox中docker虚拟机的内存和处理器核数

基于PiggyMetrics搭起分布式系统会起10个容器,所需内存比较大,所以需要打开VirtualBox,修改docker对应的虚拟机的内存和处理器,默认名字是default
基于PiggyMetrics微服务搭建的分布式系统
内存至少3G,处理器2核

3.3 启动docker cli界面

首先双击Kitematic (Alpha),选择VirtualBox进入docker,之后进入
基于PiggyMetrics微服务搭建的分布式系统
点击左下角的docker cli
基于PiggyMetrics微服务搭建的分布式系统
下面可以开始编译运行微服务了

4、微服务编译运行

4.1 首先切换到源码目录 ,我的是cd E:\ecnu\workspace\pm\PiggyMetrics\

源码是maven构建

4.2 打包

mvn package -DskipTests
执行后在每一个项目的target下有两个jar包
基于PiggyMetrics微服务搭建的分布式系统

4.3 编译

docker-compose -f docker-compose-base.yml build
基于PiggyMetrics微服务搭建的分布式系统
docker-compose -f docker-compose-base.yml -f docker-compose.yml build
基于PiggyMetrics微服务搭建的分布式系统

4.4 运行

docker-compose -f docker-compose-base.yml up -d
基于PiggyMetrics微服务搭建的分布式系统
docker-compose -f docker-compose.yml up -d
基于PiggyMetrics微服务搭建的分布式系统
查看启动的容器
docker ps
基于PiggyMetrics微服务搭建的分布式系统
基于PiggyMetrics微服务搭建的分布式系统
服务器启动过程中,可能有些服务会启动失败
访问网站:http://192.168.99.100:8761/
最终会起以下6个服务,都必须全起,这几个网站才能全部访问。(注意右边多出的部分是用户名密码)
http://192.168.99.100:8888/gateway/default user/admin
http://192.168.99.100:8888/registry/default
http://192.168.99.100:15672 guest/guest
http://192.168.99.100:8761
http://192.168.99.100
http://192.168.99.100:9000/hystrix
http://192.168.99.100:8989
基于PiggyMetrics微服务搭建的分布式系统
如果发现有个服务没起,可以在restart,方法如图
基于PiggyMetrics微服务搭建的分布式系统

5、接口访问

系统中新建了sharedbike-service项目,其中一个接口访问,如下图,首先得安装DHC插件
URL:192.168.99.100/bike/
POST方式
请求参数JSON格式:{“bikeId”:”1111”, “lat”:”112”, “lon”:”341”}
200:代表请求成功
基于PiggyMetrics微服务搭建的分布式系统

6、访问mongodb

6.1 获取mongodb帐号密码

使用工具robomongo客户端连接mongodb
默认的用户名密码可以查看mongodb目录下的init.sh
url:192.168.99.100
端口:25000
用户名:user
密码:admin
数据库名:piggymetrics

即如下
基于PiggyMetrics微服务搭建的分布式系统

6.2 连接成功后:

基于PiggyMetrics微服务搭建的分布式系统
插入的bikeinfo
基于PiggyMetrics微服务搭建的分布式系统


参考网站:
http://git.oschina.net/huangmeng4520/PiggyMetrics/
http://www.jianshu.com/p/e26570d1b297?mType=Group