dubbo核心要点及下载(dubbo二)

Posted 别动我的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo核心要点及下载(dubbo二)相关的知识,希望对你有一定的参考价值。

一、dubbo核心要点

1):服务是围绕服务提供方和服务消费方的,服务提供方实现服务,服务消费方调用服务。

2):服务注册

  对于服务提供方它需要发布服务,而由于应用系统的复杂性,服务的数量、类型不断的膨胀。

  对于服务消费方,它最关心如何获取它所需要的服务。而面对复杂的应用系统,需要管理大量的服务调用。

而且对于服务提供方和服务消费方来说,它们还有可能同时兼具这两种角色,即需要提供服务,又需要消费服务。

   通过服务统一管理起来,可以有效的优化内部应用。对服务发布/使用的流程管理。服务注册中心可以通过特

定协议来完成服务对外的统一。

dubbo提供的服务注册中心有以下几种:

 ①Multicast注册中心,又叫广播、组播,是一个在局域网的环境。主要用于本地测试。

 ②zookeeper注册中心,官方推荐。用于上线发布。

 ③redis注册中心

 ④simple注册中心

3):服务监控

  无论服务消费方,还是服务提供方,都要对服务的实际调用状态进行有效的监控。从而改进服务质量。

4):远程通信与信息交换

  远程通信需要指定通信双方所约定的协议。在保证通信双方理解协议语义的基础上,还需要保证高效、稳定的

消息传输。dubbo集成了当前主流的网络通信框架,主要包括如下几个:

Nina、Netty、Grizzly(它们可以理解为对socket的封装)

5):服务调用

  节点角色说明:

  Registry:服务注册与发现的注册中心

  Consumer:调用远程服务的服务消费方

  Provider:暴露服务的服务提供方

  Monitor:统计服务的调用次数和调用时间的监控中心

  Container:服务运行容器

  调用关系说明:

  0、服务容器负责启动、加载,运行服务提供者

  1、服务提供者在启动时,向服务注册中心注册自己提供的服务

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

  3、注册中心返回服务提供者地址列表给服务消费者。如果有变更,服务注册中心将使用长连接

推送变更数据给消费者

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

调用失败,再选另一台调用

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

中心

知识补充:

长连接,指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
 
短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
 
长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是短连接,
再操作的话那么处理速度会降低很多,所以每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的
连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。

二、下载

  1):获取dubbo

  dubbo可以直接在maven的中央仓库获取,它是阿里巴巴的开源项目

  2):获取dubboX

  dubboX中央仓库没有,需要从github下载并且在本地编译才能使用。

  下载地址:https://github.com/hutai123/dubbox

  dubbo和dubbox均是基于maven进行项目管理与构建的。源码下载后进行编译打包,即可将dubbo放入

本地仓库。

  编译打包过程中如果出现netty测试错误,请在maven中使用:

  mvn clean install -Dmaven.test.skip=true

  打包,放弃测试,因为dubbox本身存在bug

  打包后主要有以下几个文件:

  管理中心:dubbo-admin-2.8.4a(dubbox版本)

  监控中心:dubbo-monitor-simple-2.8.4a-assembly.tar.gz

  同时使用spring 4.2+版本

以上是关于dubbo核心要点及下载(dubbo二)的主要内容,如果未能解决你的问题,请参考以下文章

dubbo整体架构

打造仿猫眼项目 以Dubbo为核心解锁微服务

Dubbo 从下载到编译成功

Dubbo管控平台

dubbo 源码 v2.7 分析:核心机制

dubbo 2.5.4-SNAPSHOT 源码编译