dubbo的部分知识点

1、框架和流程:

节点角色说明
节点角色说明
Provider暴露服务的服务提供方
Consumer调用远程服务的服务消费方
Registry服务注册与发现的注册中心
Monitor统计服务的调用次数和调用时间的监控中心
Container服务运行容器

调用关系说明:

      0.start:服务容器负责启动,加载,运行服务提供者。

      1.register:服务提供者在启动时,向注册中心注册自己提供的服务。

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

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

      4.invoke:服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

      5.count:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。


2、服务提供者的核心配置文件:

      第一步:先指定服务提供者的名称,名称要保证唯一性,建议使用项目名称。

<dubbo:application name="xxx"/>

      第二步:指定协议名称和端口号。官方推荐协议选用dubbo,端口号选用20880。

<dubbo:application name="dubbo" port="20880"/>

      第三步:指定注册中心,选用Zookeeper。

<dubbo:registry address="zookeeper://localhost:2181"/>

      第四步:暴露服务。interface 表示暴露接口的全限定类名;ref 表示引用接口在spring容器中的接口名称;registry表示使用直连的方式 N/A。

<dubbo:service interface="" ref="" registry=""/>

      第五步:加载接口实现类。

<bean id=" " class=" ">

      然后将配置文件加载到web.xml中,暴露接口。

3、消费者的核心配置文件:

      第一步:同上。

      第二步:同上面第三步。

      第三步:引用远程接口。id表示远程引用服务的代理对象名称;interface 表示接口的全限定类名;url表示调用远程接口的服务地址;registry表示使用直连的方式 N/A。

<dubbo:reference id=" " interface=" " url="" registry=" "/>

4、属性加载属性:

     虚拟机参数-->xml配置-->properties


5、springboot和dubbo整合的三种方式:

   (1)、导入dubbo-starter。在application.properities中配置属性,使用@Service暴露服务,使用@Reference 消费服务(引用服务),进行远程引用。(旧方法)

     ps:使用此方法需要开启注解@EnableDubbo。

   (2)、保留dubbo的xml配置文件。导入dubbo-starter,使用@ImportResource导入配置文件。

   (3)、使用注解的方式,将每一个组件手动创建到容器中。

、当Zookeeper宕机后,消费者是能调用服务者的服务的,因为采用了dubbo直连方式,有本地缓存。即使注册中心全部宕机后,服务提供者和消费提供者仍能通过本地缓存通讯。


6、四种负载均衡策略:

    (1)Random LoadBalance(基于权重的随机负载均衡机制)

      ps:权重越大得到的机会就越高。这里强烈建议不要权值写死,因为在注册中心上可以增和减权值。

    (2)RoundRobin LoadBalance(基于权重的轮询负载均衡机制)

      ps:因为userService1的权重为100,总权重为350,所以概率是2/7,所以会有两个1。剩下两个以此类推......

    (3)最少活跃数-负载均衡机制(LeastActive LoadBalance)

      ps: 活跃数指调用前后计数差。因为userService1的的活跃数为100,最快,所以会最优先调用此服务器。

    (4)一致性hash-负载均衡机制(ConsistentHash LoadBalance)

      ps: 由id决定去哪台服务器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java+⼤数据 java+⼤数据计划 曾来⾃学长的建议 javaEE项⽬: 1) ⽀付宝内部OA系统 (⼤概15天) 2)阿⾥菜鸟物流项⽬ (20天) 3)淘宝商城 项⽬ (千⽜客户端部分)(实现典型的⼏个模块) (20天) ⼤数据+⼈⼯智能项⽬ 1) ⽀付宝⽤户画像(余额宝⽤户部分)(10天) 2)⽀付宝订单系统(贷款部分)⼤数据分析 (15天) 3)阿⾥飞猪旅游⽹⼤数据分析(包含智能推荐部分)(30天) 具体的分模块知识点:模块知识是项⽬的基础,希望掌握了以下单个的模块之后再开启项⽬之旅 刚开始我们会详细讲解⼯具的使⽤(eclise,idea ,Toad 等常⽤的开发⼯具) java基础(45天)其中(其中 java⽹络编程 ,多线程 ,java NIO ,java lambda 这⼏个java模块⼤数据中需要⽤到,我们重点讲解,为⽇后学习⼤数据打下基础) (统称javaweb部分,只列出重要的知识点,有些细节的知识点没有列出) html/css/js(7天) jsprvlet(5天) struts (五天) mybatis/hibernate(五天) Redis (3天) oracle/mysql/HBase(包括⽤户操作、赋权、事务、锁、索引 )(10天) MQ(ActiveMQ/RabbitMQ)(5天) spring(springcloud/springMVC/spring)(10天) Dubbo RPC框架 (五天) 以下项⽬任选⼀个,也可以三个都讲解 javaEE项⽬: 1) ⽀付宝内部OA系统 (⼤概15天) 2)阿⾥菜鸟物流项⽬ (20天) 3)淘宝商城 项⽬ (千⽜客户端部分)(实现典型的⼏个模块) (20天) linux(3天/15天) 根据情况讲解 ,三天只能掌握基础知识 ,剩下12天给⼤家让⼤家⾃学,如果需要也可以讲解15天 JAVA虚拟机调优(三天)spark 中需要⽤到虚拟机的知识 hadoop(10天) hive/hBase/Sqoop/Ooz/hue/flume(每个三天) lucence/solr/elasticsearch(10天) scala/phthon(每个五天) 通信框架(Mina/netty)(⼤数据中⽤到) spark(各个模块都讲解)(10天) CDH(五天) openstack(七天) 掌握了以上知识点⼤数据项⽬⼈选⼀个或两个 ⼤数据+⼈⼯智能项⽬ 1) ⽀付宝⽤户画像(余额宝⽤户部分)(10天) 2)⽀付宝订单系统(贷款部分)⼤数据分析 (15天) 3)阿⾥飞猪旅游⽹⼤数据分析(包含智能推荐部分)(30天)
java面试笔试资料包括JAVA基础核心知识点深度学习Spring面试题等资料合集: JAVA核心知识点整理-282页 Java与哈希算法.docx Java中Lambda表达式的使用.docx JAVA多线程之线程间的通信方式.docx Java注解详解.docx Java线程池.docx JDK1.8Stream操作.docx JDK8有新特性.docx JVM堆三代.docx JVM的垃圾回收机制详解和调优.docx Spring源码分析之IoC.docx 关于线程和线程池的学习与使用.docx 深入理解JVM垃圾回收机制.docx 深入理解多线程实现的另一种方式Callable.docx 红黑树简介.docx 线程死锁及解决办法.docx 线程锁之重入锁.docx 线程间的通信.docx 虚拟机内存结构和垃圾回收docx.docx 锁分类的了解.docx 集合的扩容机制.png SpringMVC部分.docx Spring部分.docx 第一题.pdf 第七题 谈谈MySQL支持的事务隔离级别 (1).pdf 第三题 对比HashTable HashMap TreeMap有什么不同.pdf 第二题 Exception Error区别.pdf 第五题 如何保证集合是线程安全的.pdf 第八题 Java并发类库提供的线程池有哪几种 分别有什么特点.pdf 第六题 synchronized和ReentLock有什么区别.pdf 第四题 ArrayList LinkedList Vector的区别.pdf docker讲得最清楚.doc Dubbo是什么?能做什么?.doc java 基于TCP协议的Socket编程和通信.doc Java面试高级篇—说说TCP,UDP和socket,Http之间联系和区别.doc MySQL千万级的大表要怎么优化(读写分离、水平拆分、垂直拆分).doc redis缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级.doc RPC (Remote Procedure Call)即远程过程调用.doc Spring 面试问题 TOP 50(干货推荐收藏必备).doc springboot常见面试题.doc svn和git的区别及适用场景.doc ZooKeeper.doc 为什么分布式一定要有Redis.doc 分布式、高并发、多线程,到底有什么区别.doc 分布式事务.doc 四款消息队列大比拼.docx 多台web服务器之间共享session.docx 消息中间件Kafka与RabbitMQ.doc 电商项目描述注意点.doc 秒杀业务的流量削峰场景如何解决.doc 面试题:Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点.doc

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值