zookeeper的安装就不说了,官网下载然后启动起来就可以了。
然后是项目分层,这里分为三层,
api:申明接口
provider:服务提供者(实现对api项目中接口的实现)
Consumer:服务消费者(直接调用api中的接口)
接下来申明api中的接口:
然后准备provider项目:
pom导入依赖
<!-- Apache Dubbo Starter --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>${dubbo.version}</version> </dependency> <!-- Dubbo --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> <version>${dubbo.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.12.0</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> <version>2.12.0</version> </dependency>
配置端口和dubbo:
server: port: 8002 dubbo: scan: base-packages: com.example.service application: name: dubbo-provider protocol: name: dubbo port: 10190 registry: id: zookeeper address: zookeeper://127.0.0.1:2181
实现api项目的接口 :
此处需要注意@Service并非spring的包,而是apache的包
接下来实现consumer:
配置如下:
server: port: 8001 dubbo: application: name: dubbo-consumer protocol: name: dubbo port: 10190 registry: address: zookeeper://127.0.0.1:2181 timeout: 30000
pom引用同provider,此处不再赘述。
此处注意@Reference和启动类的@EnableDubbo同样为apache的包
分别启动provider和consumer项目,访问localhost:8001/api/test/sayHello?name=zhangsan
搞定 !!!