dubbo应用实例

本文介绍了一个Dubbo应用实例,用到Spring、SpringMVC、MyBatis等技术。详细说明了系统部署,包括数据库、Zookeeper、生产者和消费者服务器的配置及端口开放。还介绍了代码结构,含三个子项目,并指出代码引用过多Jar包,询问可去除的部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个参考了网上其他人的代码后,自己拼拼凑凑整合起来的一套dubbo应用实例。用到了spring、springMVC、mybatis、dubbo等技术。

工具和技术
  • 操作系统:centOS 7.5
  • 数据库服务器:mysql 5.7
  • zookeeper服务器:zookeeper-3.4.6、dubbo-monitor-simple-2.5.3、dubboadmin、jdk1.7、apache-tomcat-7.0.88
  • 生产者服务器:apache-tomcat-9.0.16、jdk-11.0.2
  • 消费者服务器:apache-tomcat-9.0.16、jdk-11.0.2
  • 开发工具:IntelliJ IDEA 、apache-maven-3.6.0
系统部署

你要准备4台服务器,可以用vmware虚拟出4台centOS操作系统的服务器出来。不过把它们全部署在同一台服务器也可以。所有服务装好后,记得要打开防火墙的开放端口。

开放防火墙端口可用以下命令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

数据库服务器

安装好MySQL,防火墙放开3306端口。用root登录MySQL建库、用户、表,程序需要用到。

--创建数据库
CREATE DATABASE vigardb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
--创建用户
CREATE USER 'vigar'@'%' IDENTIFIED BY 's32sk2334jk2';
--授权用户权限
GRANT ALL ON vigardb.* TO 'vigar'@'%';
--用新用户登录后建表
CREATE TABLE `user` (
  `id` int(11) DEFAULT NULL,
  `username` varchar(30) DEFAULT NULL,
  `password` varchar(30) DEFAULT NULL,
  `age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
zookeeper服务器

可以参考dubbo admin 和monitor的安装进行部署。部署成功后可以看到如下:登录的用户名和密码都是root
dubboadmin
这个monitor就是那个dubbo monitor部署成功提供的服务。

dubbo monitor也有个网页,不过好像没啥用。
dubbomonitor
防火墙要放开端口:7070、8080、9090、2181

生产者服务器

把tomcat和jdk解压到/usr/local下,然后在/etc/profile.d下添加两个文件java.sh和tomcat.sh,用于设置环境变量。
java.sh:

JAVA_HOME=/usr/local/jdk-11.0.2
PATH=$JAVA_HOME/bin:$PATH

tomcat.sh:

CATALINA_BASE=/usr/local/apache-tomcat-9.0.16
PATH=$CATALINA_BASE/bin:$PATH

然后把程序编译出来的vigar-dubbo-provider.war放到tomcat的webapps下,然后启动tomcat。
顺利的话,将可以在dubboadmin看到新增了两个服务。
服务
防火墙要放开端口:20880

消费者服务器

跟生产者服务器一样的部署,只是放的是vigar-dubbo-consumer.war。顺利的话,将可以访问到网页,然后就可以开始试用功能了。
前端
防火墙要放开端口:8080

代码

代码用一个父pom.xml把几个子项目集合在一起,以便统一依赖包的版本号。包含以下三个子项目:

vigar-dubbo-api

这个用来放消费者和生产者都会用到的对象和服务接口,以免相同的代码出现在多处地方。

vigar-dubbo-provider

这是生产者代码,用mybatis连数据库,UserMapper.xml、UserMapper.java、UserExample.java和User.java几个文件是用mybatis-generator生成的,不需要手工编写。注意要修改jdbc.properties和applicationContext-dubbo-provider.xml里面的IP,改成你自己服务器的。

vigar-dubbo-consumer

这是消费者代码,它并不连数据库,所有请求都通过请求dubbo服务获得。程序用spring mvc架构。注意要改dubbo文件里的IP。

代码下载

dubbo应用实例.zip

存在问题

这套代码引用了太多jar包,有一些应该是多余的,谁能告诉我哪些jar去掉了,也能正常运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值