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

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

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);
    }

}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5716945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存