maizididi
maizididi
采纳率0%
2017-07-27 02:38 阅读 2.0k

请问有没有把dubbo服务放进docker 用swarm mode部署的

环境是3台机器,做swarm集群,zookeeper运行在其他的服务器上(非docker)。dubbo 提供者和消费者都是放到docker里面的,使用docker stack deploy 发布。dubbo调用需要将宿主机的ip注册到zookeeper上,这样消费者才能够调用到。现在的问题是,部署消费者一共9个点,在dubbo admin上查看
注册的端口都是ip+20883,有同一个ip+端口,都注册到了zookeeper。swarm官网说他有负载均衡的机制,调用服务的时候会在几个节点上轮询,但是我发现它只轮询了3个节点,也就是每个宿主机上只轮询其中的一个。请问,大家有没有,把dubbo 部署到docker swarm 中的经验。谢谢。244,245,252是宿主机ip 图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • clyouth clyouth 2017-08-25 03:58

    把dubbo服务项目挂在到运行在docker swarm 的web容器不就好了,注意下同一个web容器中运行duboo服务的端口要修改成不一样 不就好了
    附上参考的启动脚本
    #!/bin/bash
    name=dubbo
    webapps=/home/${user}/dubbo-webapps
    sudo docker service rm $name
    sudo docker service create \
    --name $name \
    --env LANG=zh_CN.UTF-8 \
    -e JAVA_OPTS="-Duser.timezone=GMT+08 -Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xms2g -Xmx4g" \
    --network tomcat \
    --detach=false \
    --mount type=bind,src=/etc/localtime,dst=/etc/localtime \
    --mount type=bind,src=/home/uns/docker-webapps/config/ojdbc14-10.2.0.4.0.jar,dst=/us
    --mount type=bind,src=$webapps/xxxx-provider,dst=/usr/local/tomcat/webapps/xxxxx-provider \
    tomcat:latest

    点赞 1 评论 复制链接分享
  • clyouth clyouth 2017-08-25 04:00

    图片说明地址是docker 中overlay网络配置的地址

    点赞 评论 复制链接分享

相关推荐