Dubbo笔记

Dubbo笔记,第1张

Dubbo笔记

文章目录

一、Dubbo认识

dubbo依赖: 二、安装zookeeper三、导入的dubbo依赖四、dubbo-admin管理平台

4.1 部署dubbo-admin

运行中出现错误,解决: 4.2 地址缓存4.3 负载均衡4.4 集群容错

一、Dubbo认识
    dubbo采用的是二进制流网络通信:dubbo采用的是Socket通信机制,一步到位,提升通信效率,并可建立长连接,不用反复连接,直接传输数据。
dubbo依赖:
        
            com.alibaba
            dubbo
            2.6.12
        
二、安装zookeeper
// 安装到 /opt 下
创建zookeeper文件夹 mkdir zookeeper
// 解压并进入conf下:
cd conf/
//复制配置文件
 cp zoo_sample.cfg zoo.cfg
//修改配置文件
 vim zoo.cfg
 //新建窗口,进入创建的存放数据的文件
 pwd  (打印相对地址,复制到下一步)
// 修改dataDir路径
dataDir=/opt/zookeeper/zkdata
// 保存退出并启动
./zkServer.sh start
// 退出
./zkServer.sh stop
// 查看状态
./zkServer.sh status
三、导入的dubbo依赖
    pom.xml依赖

        5.1.9.RELEASE
        2.6.12
        5.1.0

    

    
        
       
            javax.servlet
            javax.servlet-api
            3.1.0
        

        
            org.springframework
            spring-context
            5.3.14
        

        
            org.springframework
            spring-webmvc
            5.3.14
        

        
            com.alibaba
            dubbo
            2.6.12
        

        
        
            org.slf4j
            slf4j-api
            1.7.21
        
        
            org.slf4j
            slf4j-log4j12
            1.7.21
        
        
        
            org.apache.curator
            curator-framework
            ${zookeeper.version}
        
        
        
            org.apache.curator
            curator-recipes
            ${zookeeper.version}
        
        
        
            com.itheima
            dubbo-interface
            1.0-SNAPSHOT
        
    
  
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.1
                
                    9000
                    /
                
            
        
     -->
    log4j.properties日志配置
# DEBUG < INFO < WARN < ERROR < FATAL
# Global logging configuration
log4j.rootLogger=info, stdout,file
# My logging configuration...
#log4j.logger.com.tocersoft.school=DEBUG
#log4j.logger.net.sf.hibernate.cache=debug
## Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=../logs/iask.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %l  %m%n
    applicationContext.xml的配置



    
    
    
    
    
    
    
    


    在消费者的web.xml配置


		 
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:spring/springmvc.xml
        
    
    
        springmvc
        *.do
    

四、dubbo-admin管理平台

dubbo-admin管理平台,是图形化的服务管理页面从注册中心中获取到所有的提供者/消费者进行配置管理路由规则、动态配置、服务降级、访问控制、权重调整、负载均衡等管理功能 4.1 部署dubbo-admin

// 前提是安装过nodejs,maven
//cdm 跳转到dubbo-admin的目录下
mvn clean package
运行中出现错误,解决:

把maven settings.xml里面的镜像换成


  alimaven
  aliyun maven
  http://maven.aliyun.com/nexus/content/groups/public/
  central        

进入dubbo-Admin-developdubbo-admin-distributiontarget>运行jar包

java -jar dubbo-admin-0.4.0.jar
// 访问dubbo-admin
localhost:8081
4.2 地址缓存

注册中心停止,访问旧的地址是可以成功的

4.3 负载均衡

策略:

Random:按权重随机,它是默认值(修改权重@service(weight = 100))。RoundRobin:按权重轮询。LeastActive:最少活跃调用数,相同活跃数的随机。ConsistentHash:一致性Hash,相同参数的请求总是发到同一提供者(所有请求是id=1的都发送到1号机器)。 4.4 集群容错

模式:

Failover Cluster:失败重试。是默认值。但出现失败,重试其他服务器,默认重试2次,使用retries配置。一般用于读 *** 作。FailfastCluster:快速失败,只发起一次调用,失败立即发出错误,通常用于写 *** 作。Failsafe Cluster:失败安全,出现异常,直接忽略,返回一个空值。Failback Cluster:失败自动回复,后台记录失败请求,定时重发。Forking Cluster: 并行调用多个服务器,只要一个成功即返回。Broadcast Cluster:广播调用所有提供者,逐个调用,任意一台报错及报错

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

原文地址: http://www.outofmemory.cn/zaji/5713214.html

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

发表评论

登录后才能评论

评论列表(0条)

保存