dubbo应用实例

    xiaoxiao2022-07-07  161

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

    工具和技术

    操作系统:centOS 7.5数据库服务器:mysql 5.7zookeeper服务器: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 这个monitor就是那个dubbo monitor部署成功提供的服务。

    dubbo monitor也有个网页,不过好像没啥用。 防火墙要放开端口: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去掉了,也能正常运行。

    最新回复(0)