Zookeeper+Dubbo集群分布式系统开发之跨域调用

背景:

分布式系统开发,开发过程中通过zookeeper+dubbo跨域获取并调用别人编写的方法

 

作用:

可用来访问别人的zookeeper服务,从其中获取我们需要的数据。

 

条件:

虚拟机docker下已安装配置好zookeeper、tomcat(tomcat中配置好dubbo)

(部署详见我的博客:https://blog.csdn.net/weixin_41056197/article/details/97018462

 

步骤:(使用他人zookeeper,并通过dubbo获取别人发布的数据)

1、修改虚拟机网络模式:

VMWare——虚拟机——设置——网络适配器——选择“桥接模式”——确定

 

 

2、配置虚拟机网络:

打开Network——Wired——IPv4

其中:IPv4 Method为Manual,Addresses、DNS配置如下

 

其中:

Address的前三位与本机ip地址一致

Network与本机子网掩码一致

Gateway与本机默认网关一致

 

  • 本机ip地址、子网掩码、默认网关查看方式:

       进入doc界面,输入ipconfig

 

3、重启网络、关闭防火墙:

ifdown ens33

ifup ens33

systemctl restart network

systemctl stop firewalld

 

4、禁用本地虚拟网卡:

 

5、测试配置是否成功:

虚拟机中:ifconfig,查看ip地址

 

本机中:ping 172.16.10.220,看能否ping通

 

6、修改分布式系统中需要发布的子系统的配置文件(ip和端口号为对方的ZooKeeper的ip+端口号):

 

7、运行子系统,查看dubbo页面(ip和端口号为对方的ZooKeeper的ip+Tomcat的端口号):

 

 

(由于对方关闭了子系统,导致我无法截图给大家展示了,只能展示我的方法了)

 

8、调用对方的方法:

①页面调用访问(http://+“对方本地ip地址”+:+“对方Controller层子系统的端口号(此处端口号为默认的80,故可不加)”+/+“Controller层的@RequestMapping的映射地址”):

 

②直接调用:

 

9、页面查看效果

 

其中172.16.10.172为本地ip地址,也是对方放行的ip地址(放行时要加上端口号);

端口8888应为页面子系统的端口(此处页面和controller未分离);

其余为项目中html页面存放路径;

如下图:

 

发布了26 篇原创文章 · 获赞 18 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41056197/article/details/97953180