【2021第二届云原生编程挑战赛2:实现一个柔性集群调度机制】基于docker容器的测试集群搭建

比赛链接:
https://tianchi.aliyun.com/competition/entrance/531923/information

在这里插入图片描述
比赛内容: Apache Dubbo 作为一款可拓展性极高的 RPC 框架,支持高度自定义化的集群调度机制,本次比赛要求参赛者基于 Dubbo 提供的集群调度自定义化能力,辅以调用过滤链机 制、自定义负载均衡机制等功能,设计一种柔性调度机制。

本文主要介绍,如何在单台linux服务器中,使用docker部署测试环境。

1. 安装启动NACOS

1.1. 安装

sudo docker pull nacos/nacos-server
sudo mkdir -p /home/nacos/logs

1.2. 启动

docker run \
--name nacos -itd \
-e MODE=standalone \
-p 8848:8848 \
-v /home/nacos/logs:/home/nacos/logs  \
nacos/nacos-server

1.3. 测试

访问:http://localhost:8848/nacos
账号/密码:nacos/nacos

2. 部署运行Consumer程序

2.1. Dockerfile

编写内容如下:

FROM openjdk:8-jre-alpine

ADD target/service-consumer.jar app.jar

ENTRYPOINT ["java", "-jar", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888", "/app.jar"]

EXPOSE 8087

2.2. 生成

sudo docker build -t dubbo-consumer .

2.3. 运行

sudo docker run -d -p 8087:8087 --name dubbo-consumer dubbo-consumer

2.4. 测试

sudo docker logs dubbo-consumer

3. 部署运行Provider程序

3.1. dockerfile

编写内容如下:

FROM openjdk:8-jre-alpine

ARG env1=large
ARG port=20890

ENV quota $env1

RUN echo "[Debug] quota: $env1"
RUN echo "[Debug] port: $port"

ADD target/service-provider.jar app.jar

ENTRYPOINT ["java", "-jar","/app.jar"]

EXPOSE $port

3.2. 生成


sudo docker build -t dubbo-provider-small --build-arg env1=small  --build-arg port=20880 . 

sudo docker build -t dubbo-provider-medium --build-arg env1=medium  --build-arg port=20870 .

sudo docker build -t dubbo-provider-large --build-arg env1=large --build-arg port=20890 . 

3.3. 运行


sudo docker run -d -p 20880:20880 --name dubbo-provider-small dubbo-provider-small

sudo docker run -d -p 20870:20870 --name dubbo-provider-medium dubbo-provider-medium

sudo docker run -d -p 20890:20890 --name dubbo-provider-large dubbo-provider-large

3.4. 测试

sudo docker logs dubbo-provider-small
sudo docker logs dubbo-provider-medium
sudo docker logs dubbo-provider-large

4. 附:常用命令

  1. 启动nacos
sudo docker start nacos
  1. 重置consumer(需进入service-consumer目录)
sudo docker container rm dubbo-consumer -f
sudo docker build -t dubbo-consumer .
sudo docker run -d -p 8087:8087 -p 8888:8888 --name dubbo-consumer dubbo-consumer

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丧心病狂の程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值