栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Dubbo实例

Dubbo实例

zookeeper的安装及配置

(1)下载地址

zookeeper下载地址Home page of The Apache Software Foundationhttps://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz

(2)windows系统和Linux系统下zookeeper的安装及配置

1、下载好后解压文件,进入目录:apache-zookeeper-3.5.9-bin/conf

2、配置zookeeper配置文件,先把zoo_sample.cfg配置样本复制一份重命名为zoo.cfg

3、zookeeper使用的jetty占用到了8080端口,如需要修改可进入conf/zoo.cfg配置文件里面添加:admin.serverPort=指定端口

4、启动方式:

        windows系统:apache-zookeeper-3.5.9-bin/bin/zkServer.cmd,双击运行

        linux系统:进入到bin目录下,运行命令:

                启动:zkServer.sh start

                关闭:zkServer.sh stop

创建Dubbo项目

(1)新建一个空项目,命名为:dubbo-project

(2) 创建"接口"模块,选择maven类型,命名为:dubbo-interface

   

(3) 参考步骤1,创建"服务提供者"模块,选择maven类型,命名为:dubbo-provider

(4) 参考步骤1,创建"消费者"模块,选择maven类型,命名为:dubbo-consumer

编写测试代码

(1)dubbo-interface

a. 目录结构 b. User.java
package com.heheda.www.model;

import java.io.Serializable;


public class User implements Serializable {

    private Integer id;

    private String username;

    private Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

c.  UserService.java 
package com.heheda.www.service;

import com.heheda.www.model.User;


public interface UserService {

    
    User queryUserById(Integer id);

}

d. pom.xml 



  4.0.0

  com.heheda.www
  dubbo-interface
  1.0.0
  war

  
    
      
      
        maven-compiler-plugin
        3.1
        
          1.8
          1.8
        
      
    
  

(2)dubbo-provider
a. 目录结构 b. UserServiceImpl.java
package com.heheda.www.service.impl;

import com.heheda.www.model.User;
import com.heheda.www.service.UserService;


public class UserServiceImpl implements UserService {

    @Override
    public User queryUserById(Integer id) {
        User user = new User();
        user.setId(id);
        user.setAge(11);
        user.setUsername("version-1");
        return user;
    }
}

c. UserServiceImpl2.java
package com.heheda.www.service.impl;

import com.heheda.www.model.User;
import com.heheda.www.service.UserService;


public class UserServiceImpl2 implements UserService {

    @Override
    public User queryUserById(Integer id) {
        User user = new User();
        user.setId(id);
        user.setAge(22);
        user.setUsername("version-2");
        return user;
    }
}

d. dubbo-provider.xml



    
    

    
    

    
    

    
    
    

    
    
    

 e. web.xml



  
  
    contextConfigLocation
    classpath:dubbo-provider.xml
  
  
  
    org.springframework.web.context.ContextLoaderListener
  


f. pom.xml



  4.0.0

  com.heheda.www
  dubbo-provider
  1.0.0
  war

  
    
    
      org.springframework
      spring-context
      4.3.16.RELEASE
    
    
      org.springframework
      spring-webmvc
      4.3.16.RELEASE
    

    
    
      com.alibaba
      dubbo
      2.6.2
    

    
    
      org.apache.curator
      curator-framework
      4.1.0
    

    
    
      com.heheda.www
      dubbo-interface
      1.0.0
    
  

  
    
      
      
        maven-compiler-plugin
        3.1
        
          1.8
          1.8
        
      
    
  

 (3)dubbo-consumer

a. 目录结构

b. UserController.java

package com.heheda.www.web;

import com.heheda.www.model.User;
import com.heheda.www.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
public class UserController {

    @Autowired
    private UserService userService;

    @Autowired
    private UserService userService2;

    @RequestMapping(value = "/userDetail")
    public String userDetail(Model model, Integer id){
        User user = userService.queryUserById(id);
        model.addAttribute("user",user);

        User user2 = userService2.queryUserById(id);
        model.addAttribute("user2",user2);

        return "userDetail";
    }

}
c. applicationContext.xml



    
    

    
    

    
    
        
        
    
d. dubbo-consumer.xml



    
    

    
    

    
    
    
    
e. web.xml



  
  
    dispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:applicationContext.xml,classpath:dubbo-consumer.xml
    
  
  
    dispatcherServlet
    /
  


f. userDetail.jsp
<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2021/10/28
  Time: 16:08
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    用户信息


用户1
${user.id}
${user.username}
${user.age}

用户2
${user2.id}
${user2.username}
${user2.age}



g. pom.xml



  4.0.0

  com.heheda.www
  dubbo-consumer
  1.0.0
  war

  
    
    
      org.springframework
      spring-context
      4.3.16.RELEASE
    
    
      org.springframework
      spring-webmvc
      4.3.16.RELEASE
    

    
    
      com.alibaba
      dubbo
      2.6.2
    

    
    
      org.apache.curator
      curator-framework
      4.1.0
    

    
    
      com.heheda.www
      dubbo-interface
      1.0.0
    
  

  
    
      
      
        maven-compiler-plugin
        3.1
        
          1.8
          1.8
        
      
    
  

运行项目 (1)部署项目"dubbo-provider"到tomcat

(2)部署项目"dubbo-consumer"到tomcat 

参考【部署项目"dubbo-provider"到tomcat 】

修改:

        HTTP port: 8081

        JMX port: 1091

 (3)先启动zookeeper,再启动"dubbo-provider"和"dubbo-consumer"

浏览器访问:http://localhost:8081/userDetail?id=10086

得到如下结果:

添加监控中心:dubbo-admin (1)dubbo-admin下载地址

GitHub - apache/dubbo-admin: The ops and reference implementation for Apache Dubbohttps://github.com/apache/dubbo-admin/

(2)导入项目

下载好dubbo-admin后解压得到"dubbo-admin-develop"目录,拷贝该目录到"dubbo-project"下

 再回到开发工具idea中,把刚刚的目录"dubbo-admin-develop"导入到项目中

 

(2)启动dubbo-admin
a. 启动"dubbo-admin-server"

修改配置参数,端口改为:8888

 修改完成后,直接运行"DubboAdminApplication.java"的main方式启动

b. 启动"dubbo-admin-ui"

修改配置参数,修改请求的端口为:8888

idea中打开终端,进入到"dubbo-admin-ui"目录中:

cd dubbo-admin-develop/dubbo-admin-ui

安装依赖包:npm install

如果下载依赖包太慢,可以改为淘宝镜像,输入命令即可:

npm config set registry https://registry.npm.taobao.org

依赖下载成功后,启动项目:npm run dev

启动成功后,点击控制台给的访问地址即可:

 账号密码在"dubbo-admin-server"的配置文件中可以配置,默认为root

 

项目代码

dubbo-project: 码云-呵呵哒https://gitee.com/hehedas_admin/dubbo-project

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号