该Demo来源于网上,我为其增添了注释和使用手册..
hosts文件路径:C:\Windows\System32\drivers\etc
增加三句:
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com
127.0.0.1 config-3344.com
创建三个数据库
create database cloudDB01;
create database cloudDB02;
create database cloudDB03;
三个库都创建相同的表
CREATE TABLE Dept
(
deptno INT PRIMARY KEY,
dname VARCHAR(50),
db_source VARCHAR(50)
);
为表插入数据,db_source的值根据1,2,3分别标识(cloudDB01库对应的是1,cloudDB02库对应的是2)
-- database 1
INSERT INTO dept (deptno, dname, db_source) VALUES (1, 'Java1y', '1');
INSERT INTO dept (deptno, dname, db_source) VALUES (2, 'Java2y', '1');
INSERT INTO dept (deptno, dname, db_source) VALUES (3, 'Java3y', '1');
INSERT INTO dept (deptno, dname, db_source) VALUES (4, 'Java4y', '1');
INSERT INTO dept (deptno, dname, db_source) VALUES (5, 'Java5y', '1');
-- database 2
INSERT INTO dept (deptno, dname, db_source) VALUES (1, 'Java1y', '2');
INSERT INTO dept (deptno, dname, db_source) VALUES (2, 'Java2y', '2');
INSERT INTO dept (deptno, dname, db_source) VALUES (3, 'Java3y', '2');
INSERT INTO dept (deptno, dname, db_source) VALUES (4, 'Java4y', '2');
INSERT INTO dept (deptno, dname, db_source) VALUES (5, 'Java5y', '2');
-- database 3
INSERT INTO dept (deptno, dname, db_source) VALUES (1, 'Java1y', '3');
INSERT INTO dept (deptno, dname, db_source) VALUES (2, 'Java2y', '3');
INSERT INTO dept (deptno, dname, db_source) VALUES (3, 'Java3y', '3');
INSERT INTO dept (deptno, dname, db_source) VALUES (4, 'Java4y', '3');
INSERT INTO dept (deptno, dname, db_source) VALUES (5, 'Java5y', '3');
创建Dept实体,各个模块都可以使用了(不用每个微服务都创建一个Dept对象)。同时Service接口,Feign的代码也在那里编写。
- microservicecloud-api
Eureka服务注册中心(集群)
- microservicecloud-eureka-7001
- microservicecloud-eureka-7002
- microservicecloud-eureka-7003
Eureka服务提供方(集群)
- microservicecloud-provider-dept-8001
- microservicecloud-provider-dept-8002
- microservicecloud-provider-dept-8003
带有hystrix功能的服务提供方(hystrix Demo):
- microservicecloud-provider-dept-hystrix-8001
使用restTemplate+ribbon的方式来测试(ribbon自定义了负载均衡算法)
- microservicecloud-consumer-dept-80
使用feign来调用远程服务
- microservicecloud-consumer-dept-feign(直接调用microservicecloud-api的service接口)
监控消费方的指标(性能)
- microservicecloud-consumer-hystrix-dashboard
使用方式:
- 启动consumer-hystrix-dashboard项目,打开
http://localhost:9001/hystrix.stream
我们可以监控:microservicecloud-provider-dept-hystrix-8001
这个项目,于是在输入栏输入http://localhost:8001/hystrix.stream
随后,我们去测试接口:http://localhost:8001/dept/get/7
监控的数据就会变化了:
用于转发路由,服务过滤(安全验证),限流等等:
- microservicecloud-zuul-gateway-9527
git脚本回顾:
1. git init //初始化仓库
2. git add .(文件name) //添加文件到本地仓库
3. git commit -m "first commit" //添加文件描述信息
4. git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支
5. git pull origin master --allow-unrelated-histories // 把本地仓库的变化连接到远程仓库主分支
6. git push -u origin master //把本地仓库的文件推送到远程仓库
SpringCloud Config服务端(获取配置都从这里来拿)
- microservicecloud-config-3344
SpringCloud Config 客户端:
- microservicecloud-config-client-3355
- microservicecloud-config-dept-client-8001
- microservicecloud-config-eureka-client-7001
如果使用的是IDEA的话,使用 Run dashboard比较方便~
echo "# microservicecloud" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/NJAUzhangwenjun/microservicecloud.git
git push -u origin master
git remote add origin https://github.com/NJAUzhangwenjun/microservicecloud.git
git push -u origin master