当前位置: 代码网 > 服务器>服务器>云虚拟主机 > Docker中部署Redis集群与部署微服务项目的详细过程

Docker中部署Redis集群与部署微服务项目的详细过程

2024年05月24日 云虚拟主机 我要评论
一、使用docker部署的好处docker的好处在于:在不同实例上运行相同的容器docker的五大优点: 持续部署与测试、多云服务平台支持、环境标准化和版本控制、隔离、安全二、docker 与 kub

一、使用docker部署的好处

docker的好处在于:在不同实例上运行相同的容器

docker的五大优点: 持续部署与测试多云服务平台支持环境标准化和版本控制隔离安全

二、docker 与 kubernetes 对比

docker适用于较为小的应用,并发量不大的情况下、微服务为超过10个,建议适用docker部署,这样也省资源、可减少开发成本。

k8s适用于大集群的情况,高并发,并且微服务超过了10个,同时性能也是非常好的,性能好的前提下,开发成本也增加了不少

三、redis集群部署实战

下面部署如图所示三主三从的redis集群

停掉所有的容器,删除全部记录

docker rm $(docker ps -a -q)

创建自定义网络redis

docker network create redis --subnet 172.38.0.0/16

通过脚本创建六个redis的基本信息

for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << eof >/mydata/redis/node-${port}/conf/redis.conf
port 6379 
bind 0.0.0.0
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
eof
done

启动6个redis容器,并进行数据挂载

# 通过脚本一次性启动
for port in $(seq 1 6); \
do
docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} \
-v /mydata/redis/node-${port}/data:/data \
-v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.1${port} redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf; \
done

进入redis-1中设置创建集群

# 进入redis-1
docker exec -it redis-1 /bin/sh
# 创建集群
redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13
:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1

进入容器

redis-cli -c

# 查看详细信息
cluster info

查看nodes

cluster nodes

设置值

set k1 v1

我们可以看到,将值设置在了 13节点上,我们把该节点停止,再次获取值查看

# 新开窗口停止redis-3容器
docker stop redis -3

在原来窗口获取k1

# 需要重新进入再次获取
get k1

可以看到,值已经同步到了其它节点,主节点挂掉后,我们照样可以拿到值!

四、spring boot项目 打包镜像

创建一个springboot项目

testcontroller

@restcontroller
public class testcontroller {

    @getmapping("/hello")
    public string hello() {
        return "hello world!!!";
    }
}

本地测试成功访问,然后编译项目为jar包

// 进入项目目录
mvn clean package

下载docker镜像

编写dockerfile

from java:8
copy *.jar /app.jar
cmd ["--server.port=8080"]
expose 8080
entrypoint ["java", "-jar", "/app.jar"]

将jar包和dockerfile上传至服务器

服务器文件

编译dockerfile

docker build -t xiaowang .

测试访问

curl localhost:49153

成功上传镜像!

⛵小结

以上就是【bug 终结者】对 docker实战 – 部署redis集群与部署微服务项目 的简单介绍,使用docker部署我们的应用很方便,快捷,但是架构庞大的话,就不建议使用docker了,可以采用我们的k8s集群部署,是当下最流行的技术!

到此这篇关于docker中部署redis集群与部署微服务项目的文章就介绍到这了,更多相关redis集群与部署微服务项目内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com