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

Dubbo 的简单使用 入门案例 手把手教你用分布式技术 Dubbo + Zookeeper

Dubbo 的简单使用 入门案例 手把手教你用分布式技术 Dubbo + Zookeeper

1. 了解 Dubbo 1.Dubbo架构图
![  调用流程:

1.服务提供者在服务容器启动时 向注册中心 注册自己提供的服务

2.服务消费者在启动时 向注册中心订阅自己所需的服务

3.注册中心返回服务提供者地址列表给消费者 如果有变更 注册中心会基于长连接推送变更数据给消费者

4.服务消费者 从提供者地址列表中 基于软负载均衡算法 选一台提供者进行调用 如果调用失败 则重新选
择一台

5.服务提供者和消费者 在内存中的调用次数 和 调用时间 定时每分钟发送给监控中心 ](https://img-blog.csdnimg.cn/44b6d33ead974739b29dd3e81ec47e97.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6J-R6J6C5oG26Zy45LmLamF2YeaBtumcuA==,size_20,color_FFFFFF,t_70,g_se,x_16)

2.Dubbo三个核心功能
1.面向接口的远程方法调用
2.智能的容错与负载均衡
3.服务的自动注册与发现
2.入门案例 1.接口模块
package com.sgg.service;

public interface HelloService {
    String say(String name);
}
2.服务提供者 1. web.xml


         //
    
        contextConfigLocation
        classpath*:applicationContext*.xml
    
    //ContextLoaderListener 继承ServletContextListener 监听 ServletContext的创建,当创建时,会执行contextInitialized 方法,创建spring容器以及初始化,并将spring容器放入servletContext中
    
        org.springframework.web.context.ContextLoaderListener
    



2.applicationContext_provider.xml




	//服务在注册中心提供的服务名,.与nacos不同的是服务名可以使用下划线
    

	//zookeeper的地址

    
	//Dubbo支持的协议有:dubbo、rmi、hessian、http、webservice、rest、redis等

    
	

    


3.pom.xml


    4.0.0

    com.sgg
    dubbo_provider
    1.0-SNAPSHOT
    war


    
        UTF-8
        1.8
        1.8
        5.0.5.RELEASE
    

    
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-beans
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
            org.springframework
            spring-aspects
            ${spring.version}
        
        
            org.springframework
            spring-jms
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        
        
        
            com.alibaba
            dubbo
            2.6.0
        
        
            org.apache.zookeeper
            zookeeper
            3.4.7
        
        
            com.github.sgroschupf
            zkclient
            0.1
        
        
            javassist
            javassist
            3.12.1.GA
        
        
            com.alibaba
            fastjson
            1.2.47
        
        
            com.sgg
            dubbo_interface
            1.0-SNAPSHOT
        
    
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                2.3.2
                
                    1.8
                    1.8
                
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
                
                    
                    8083
                    
                    /
                
            
        
    

4.接口实现类
//注意 @Service注解是 com.alibaba.dubbo.config.annotation.Service;  不是spring包下的
@Service
public class HelloServiceImpl  implements HelloService {
    @Override
    public String say(String name) {
        return "hello,8083,"+name;
    }

3.服务消费者 1.web.xml



    
        dispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath*:applicationContext-web.xml
        
        1
    
    
        dispatcherServlet
        /
    

    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
    
    
        characterEncodingFilter
        /*
    
2.applicationContext-web.xml



    
    
    
    
    
    

    

3.pom.xml


    4.0.0

    com.sgg
    dubbo_consumer
    1.0-SNAPSHOT
    war

    
        UTF-8
        1.8
        1.8
        5.0.5.RELEASE
    
    
        
            org.springframework
            spring-context
            ${spring.version}
        
        
            org.springframework
            spring-beans
            ${spring.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.version}
        
        
            org.springframework
            spring-aspects
            ${spring.version}
        
        
            org.springframework
            spring-jms
            ${spring.version}
        
        
            org.springframework
            spring-context-support
            ${spring.version}
        
        
        
            com.alibaba
            dubbo
            2.6.0
        
        
            org.apache.zookeeper
            zookeeper
            3.4.7
        
        
            com.github.sgroschupf
            zkclient
            0.1
        
        
            javassist
            javassist
            3.12.1.GA
        
        
            com.sgg
            dubbo_interface
            1.0-SNAPSHOT
        
        
            com.alibaba
            fastjson
            1.2.47
        
    
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                2.3.2
                
                    1.8
                    1.8
                
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                
                    
                    8082
                    
                    /
                
            
        
    

4.编写controller
@RestController
public class HelloController {

    @Reference(loadbalance = "roundrobin")
    private HelloService helloService;

    @RequestMapping("/hello")
    public String say(String name){
        return  helloService.say(name);
    }

}

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

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

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