一、zookeeper的安装与启动
下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper
下载完成之后,解压,进入到”conf”目录下,新建一个”zoo.cfg”
内容如下:
tickTime=2000
dataDir= /Users/chenqimiao/zookeeper-3.4.8/data
dataLogDir=/Users/chenqimiao/zookeeper-3.4.8/logs
clientPort=2181
参数说明:
#tickTime: zookeeper中使用的基本时间单位, 毫秒值.
#dataDir: 数据目录. 可以是任意目录.
#dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和#dataDir相同的设置.
#clientPort: 监听client连接的端口号.
执行
以上介绍的就是zookeeper的单机模式。当然还有伪分布式和分布式的部署方式,这里就不再阐述,有兴趣的可以自行百度。
二、dubbo-admin的部署
更新下链接,不知道是不是这个项目合入Apache的缘故,链接都变成了https://github.com/apache/incubator-dubbo/
按照常理,直接去
https://github.com/alibaba/dubbo(https://github.com/apache/incubator-dubbo)
下载,然后进入下面的dubbo-admin目录,进行mvn打包即可,但是不知道为何,却找不到dubbo-admin这个目录。那就直接去下载他们打包好的源代码吧:https://github.com/alibaba/dubbo/releases(https://github.com/apache/incubator-dubbo/releases)
方法1、解压后,根目录里存在dubbo-admin,进入 mvn package -Dmaven.test.skip=true
安装完后,生成target目录,进入这个目录,找到dubbo-admin-2.6.0这个目录,把这个目录全部copy到tomcat的目录webapps下的ROOT下面(删除tomcatwebapps目录下ROOT原有内容)
方法2、解压后,根目录里存在dubbo-admin,进入 mvn install -Dmaven.test.skip=true
安装完后,生成target目录,进入这个目录,找到dubbo-admin-2.6.0.war,把这个war包copy到tomcat的目录webapps下的ROOT下面(删除tomcat webapps目录下ROOT原有内容),然后使用jar xvf dubbo-admin-2.6.0.war解压war包,把解压后的内容全部放到ROOT目录下
启动tomcat,就可以看到dubbo-admin的界面,默认帐号密码root/root
启动tomcat方法:进入目录/home/admin/apache-tomcat-8.5.24/bin,然后 sh startup.sh
在目录/home/admin/apache-tomcat-8.5.24/webapps/ROOT/WEB-INF下的配置dubbo.properties,可以修改帐号密码,以及注册信息
三、利用IDEA构建spring boot生产者和消费者
1、新建springboot 项目,项目名称springboot-dubbo-server 即生产者
一路next完成之后,在pom中加入如下依赖(dubbo和zookeeper)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.4.10</version>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
<exclusions>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
此处需要修改pom.xml的一个设置 ,下文加黑部分,这样maven install的包被引用后才可用
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
生产者的包配置如下,记住这个配置 ,一会再消费者处会用到
<groupId>com.dubbo</groupId>
<artifactId>server</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
接下来先构建一个生产者
来一个测试接口:
package com.dubbo.server.service;
/**
* @author Mr.C
* @Description
* @create 2018/7/16 17:43
* Copyright: Copyright (c) 2018
* Company:CWWT
*/
public interface TestService {
String sayHello(String name);
}
来一个实现类
package com.dubbo.server.service.impl;
import com.dubbo.server.service.TestService;
/**
* @author Mr.C
* @Description
* @create 2018/7/16 17:44
* Copyright: Copyright (c) 2018
* Company:CWWT
*/
public class TestServiceImpl implements TestService {
@Override
public String sayHello(String name) {
return "Hello " + name + "!";
}
}
在resource下面加入一个providers.xml,添加如下配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="dubbo-provider"