JavaEE:使用Dubbo发布/调用服务(SpringBoot)

说明:

Dubbo用于发布微服务、跨服务调用接口。

一、搭建zookeeper服务:

1.安装:

地址:https://blog.csdn.net/a526001650a/article/details/103667691

IP与端口配置为:172.16.122.129:2281

2.修改Zookeeper admin端口:

修改admin.serverPort=63010  #修改Zookeeper admin端口

二、使用dubbo发布/调用服务:

1.在发布/调用两个工程的pom中添加dubbo的maven依赖:

<dependencies>
    <!-- 导入dubbo依赖包 -->
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo</artifactId>
        <version>3.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-dependencies-zookeeper</artifactId>
        <type>pom</type>
        <version>3.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>3.0.5</version>
    </dependency>
</dependencies>

2.使用dubbo发布微服务(发布服务工程):

(1)启动类中添加@EnableDubbo:

@SpringBootApplication
@EnableDubbo  //注册服务
public class ServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceApplication.class);
    }
}

(2)application.yml配置dubbo+zookeeper信息:

spring:
  application:
    name: userservice
server:
  port: 10001
dubbo:
  application:
    name: dubbo-userservice
  config-center:
    timeout: 30000  #超时时间
  registry:
    address: zookeeper://192.168.233.147:2181  #配置zookeeper服务器地址
    protocol: zookeeper
    check: false   #false关闭检查,true时检查注册中心是否存在,不存在就报错
  metadata-report:
    address: zookeeper://192.168.233.147:2181  #配置zookeeper服务器地址
    timeout: 30000  #超时时间
  protocol:  #配置协议相关
    name: dubbo  #协议名称
    port: 20880  #端口
  monitor:
    protocol: redister   #监控中心等信息

(3)使用@DubboService声明服务接口实现:

@DubboService  //@DubboService声明为服务接口
public class UserService implements IUserService {
    @Override
    public String getUser(String userNo) {
        return "跨服务调用接口成功";
    }
}

3.使用dubbo跨服务调用接口(调用工程):

(1)启动类中添加@EnableDubbo:

@SpringBootApplication
@EnableDubbo  //发现服务
public class ServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceApplication.class);
    }
}

(2)application.yml配置dubbo+zookeeper信息:

spring:
  application:
    name: usersweb
server:
  port: 10002
dubbo:
  application:
    name: dubbo-userweb
  config-center:
    timeout: 30000  #超时时间
  registry:
    address: zookeeper://192.168.233.147:2181  #配置zookeeper服务器地址
    protocol: zookeeper
    check: false   #false关闭检查,true时检查注册中心是否存在,不存在就报错
  metadata-report:
    address: zookeeper://192.168.233.147:2181  #配置zookeeper服务器地址
    timeout: 30000  #超时时间
  monitor:
    protocol: redister   #监控中心等信息
  consumer:
    check: false   #false关闭检查,true时检查服务发布者是否存在,不存在就报错
    timeout: 30000  #超时时间

(3)Controller中调用服务接口:

@RestController
public class UserController {
    //@DubboReference自动创建实例,类似@Autowired
    @DubboReference(loadbalance = "roundrobin") //loadbalance指定负载均衡为RoundRobin规则
    private IUserService iUserService;
    @GetMapping(value = "/user")
    public String user(@RequestParam String userNo) {
        return iUserService.getUser(userNo).toString();
    }
}

三、使用Dubbo-Admin管理服务:

1.安装npm环境:

(1)下载并安装node.js(npm编译环境):

https://nodejs.org/en/

(2)添加npm代理镜像(windows环境):

安装nrm:

C:\Users\Administrator>npm install -g nrm

查看镜像列表:

C:\Users\Administrator>nrm ls

选择taobao镜像:

C:\Users\Administrator>nrm use taobao

2.下载Dubbo-Admin源码(此处放在D:\目录):

https://github.com/apache/dubbo-admin/

3.使用IntelliJ IDEA打开并运行dubbo-admin-master/dubbo-admin-server(Dubbo-Admin后台服务):

(1)修改dubbo-admin-server工程application.properties中的zookeeper地址(与zookeeper同台主机时不用改):

admin.registry.address=zookeeper://192.168.233.147:2181  #zookeeper主机地址
admin.config-center=zookeeper://192.168.233.147:2181
admin.metadata-report.address=zookeeper://192.168.233.147:2181

(2)运行启动类org.apache.dubbo.admin.DubboAdminApplication.java,正式使用需打成jar包部署到服务器中运行。

4.安装/运行dubbo-admin-master/dubbo-admin-ui(Dubbo-Admin前端管理页面):

(1)进入dubbo-admin-ui目录,执行npm install命令安装:

D:\dubbo-admin-master\dubbo-admin-ui>npm install

(2)进入dubbo-admin-ui目录,执行npm run dev命令运行。

D:\dubbo-admin-master\dubbo-admin-ui>npm run dev

5.打开浏览器,进入管理页面查看效果:

http://localhost:8081

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值