zookeeper dubbo php,springboot整合dubbozookeeper做注册中心

springboot整合dubbo发布服务,zookeeper做注册中心。前期的安装zookeeper以及启动zookeeper集群就不说了。

dubbo-admin-2.5.4.war:dubbo服务管理项目,下载完后部署到tomcat即可查看(登录的用户名和密码默认都是root)。

pom文件引入dubbo以及zkcli包:

com.alibaba.spring.boot

dubbo-spring-boot-starter

2.0.0

com.101tec

zkclient

0.9

1.dubbo服务端(提供dubbo服务)

目录结构如下:

20190315223557131835.png

配置文件如下

application.properties

############################################################

#

# DUBBO相关配置

#

############################################################

#当前服务/应用名称

spring.dubbo.application.name=provider

#注册中心的协议和地址

#spring.dubbo.registry.address=127.0.0.1:2181

#spring.dubbo.registry.protocol=zookeeper

spring.dubbo.server=true

spring.dubbo.registry=zookeeper://127.0.0.1:2181

#通信规则(通信协议和接口)

spring.dubbo.protocol.name=dubbo

spring.dubbo.protocol.port=20880

User.java

packageorg.springboot.dubbo.bean;importjava.io.Serializable;public class User implementsSerializable {privateString userName;privateString password;publicString getUserName() {returnuserName;

}public voidsetUserName(String userName) {this.userName =userName;

}publicString getPassword() {returnpassword;

}public voidsetPassword(String password) {this.password =password;

}publicUser(String userName, String password) {super();this.userName =userName;this.password =password;

}

}

UserService.java

packageorg.springboot.dubbo.service;importjava.util.List;importorg.springboot.dubbo.bean.User;public interfaceUserService {

ListgetAllUsers();

User getUserByUserName(String username);

}

UserServiceImpl.java(注解发布服务,注意@Service注解是dubbo提供的)

packageorg.springboot.dubbo.service;importjava.util.ArrayList;importjava.util.List;importorg.springboot.dubbo.bean.User;importorg.springframework.stereotype.Component;importcom.alibaba.dubbo.config.annotation.Service;

@Service(version= "1.0.0") //dubbo的service注解,不具备spring的@service注解的功能

@Componentpublic class UserServiceImpl implementsUserService {public ListgetAllUsers() {

List users = new ArrayList();for (int i = 0; i < 20; i++) {

User user= new User("usernnamei" + i, "password" +i);

users.add(user);

}returnusers;

}publicUser getUserByUserName(String username) {return newUser(username, username);

}

}

应用启动类:

packageorg.springboot.dubbo;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importcom.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;

@SpringBootApplication

@EnableDubboConfigurationpublic classMySpringBootApplication {public static void main(String[] args) throwsInterruptedException {//入口运行类

SpringApplication.run(MySpringBootApplication.class, args);

Thread.sleep(50 * 1000);

}

}

启动之后查看dubbo管理界面:

20190315223557311523.png

2.dubbo客户端(使用dubbo提供的服务)

目录结构:

20190315223557499023.png

application.properties

############################################################

#

# DUBBO相关配置

#

############################################################

#当前服务/应用名称

spring.dubbo.application.name=consumer

#注册中心的协议和地址

spring.dubbo.server=true

spring.dubbo.registry=zookeeper://127.0.0.1:2181

#通信规则(通信协议和接口)

spring.dubbo.protocol.name=dubbo

spring.dubbo.protocol.port=20880

spring.dubbo.scan=org.springboot.dubbo

UserController.java(通过@Reference消费服务)

packageorg.springboot.dubbo.controller;importjava.util.List;importorg.springboot.dubbo.bean.User;importorg.springboot.dubbo.service.UserService;importorg.springframework.stereotype.Controller;importcom.alibaba.dubbo.config.annotation.Reference;

@Controllerpublic classUserController {

@Reference(version= "1.0.0")

UserService userService;public ListgetAllUsers() {returnuserService.getAllUsers();

}publicUser getUserByUserName(String username) {returnuserService.getUserByUserName(username);

}

}

结果:

管理界面查看如下:

20190315223557640625.png

20190315223557780273.png

20190315223557932617.png

至此基本完成了简单的dubbo环境搭建。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值