• Spring与Dubbo的整合


    很难受,不知不觉期末要到了,中间件技术的大作业也马上要到ddl了,于是打算学习一下Dubbo,做个大作业。

    一、Dubbo是什么

    • 一款分布式服务框架
    • 高性能和透明化的RPC远程服务调用方案
    • SOA服务治理方案

    每天为2千多个服务提供大于30亿次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点以及别的公司的业务中。

    具体dubbo的背景和简介以及框架等基础知识参考这位大神的博客

    二、提供者的Dubbo配置

    首先我们先配置服务的提供者

    1.给作为提供者的Spring项目增加依赖

    需要增加zookeeper和dubbo的依赖,如下

    		
    			org.apache.zookeeper
    			zookeeper
    			3.3.3
    		
    		
    			com.github.sgroschupf
    			zkclient
    			0.1
    		
    		
                com.alibaba
                dubbo
                2.5.3
                
                    
                        
                        spring
                        org.springframework
                    
                
            
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    2.序列化需要传输的java对象

    如图,只要implements Serializable接口即可。

    3.在resource目录下编写服务提供者的配置文件dubbo.xml

    
     
        
        
     
        
        
     
        
        
     
        
        
     
        
        
                        
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    其中,将需要提供的服务全部配置在文件中。

    4.配置web.xml读取dubbo.xml文件,如下

    
    		contextConfigLocation
    		classpath:ApplicationContext.xml,classpath:dubbo.xml
    	 
    
    • 1
    • 2
    • 3
    • 4

    一般web.xml里面都会有这项,在其中的增加classpath:dubbo.xml,用逗号隔开。

    做完以上4个步骤,先运行zookeeper,再运行该项目即可将服务注册到注册中心上去。

    三、消费者的Dubbo配置

    1.创建一个maven项目

    该项目必须包含相应的Service接口以及model对象,并且代码与服务的提供者相同,如图

    2.编写配置文件dubbo.xml

    
     
        
        
     
        
        
         
        
        
      
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    将需要用到的服务配置上。

    3.同样的web.xml读取dubbo.xml配置文件即可

    4.可以先通过Junit测试一下

    package com.liu;
    
    import org.junit.Before;
    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import com.liu.model.Blogger;
    import com.liu.service.BloggerService;
    
    public class BlogerServiceTest {
    	 private BloggerService bloggerService;
    	 
    	    @Before
    	    public void setUp() throws Exception {
    	        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
    	                "classpath:dubbo.xml");
    	        this.bloggerService = applicationContext.getBean(BloggerService.class);
    	    }
    	 
    	    @Test
    	    public void testgetByUsername() {
    	       Blogger blogger=this.bloggerService.getByUsername("admin");
    	       System.out.println(blogger.getNickname()+"  "+blogger.getSign());
    	    }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    四、查看Dubbo的提供者和消费者

    假如我们又很多服务的提供者和消费者,我们怎么来管理以及查看呢?Dubbo开源组织提供了dubbo-admin这样的一个WEBUI让我们去可视化的管理服务。dubbo-admin的安装我就不具体写了,网上说最好下载源码自己打包,我为了方便直接下载了一个打包好的,放到webapps下启动tomcat就可以了。为了省事的可以访问这个链接点击打开链接

  • 相关阅读:
    处理数据 根据 pid 添加到父级 children
    技术分享 | AlertManager 源码解析
    apritag 定位记录 C++ opencv 3.4.5
    JAVA计算机毕业设计电影网站系统设计Mybatis+系统+数据库+调试部署
    win10如何实现电脑上文件共享访问
    ppt怎么压缩到10m以内?分享ppt缩小方法
    激光雷达点云语义分割论文阅读小结
    防火墙规则顺序解决方案
    Linus Torvalds发布了第一个Linux内核6.4候选版本
    经典文献阅读之--Translating Images into Maps(鸟瞰图分割)
  • 原文地址:https://blog.csdn.net/m0_67402235/article/details/126516469