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+版本

原文地址:https://www.cnblogs.com/zeussbook/p/10459380.html

时间: 2024-10-10 17:15:14

dubbo核心要点及下载(dubbo二)的相关文章

Dubbo(四):深入理解Dubbo核心模型Invoker

一.Dubbo中Invoker介绍 为什么说Invoker是Dubbo核心模型呢? Invoker是Dubbo中的实体域,也就是真实存在的.其他模型都向它靠拢或转换成它,它也就代表一个可执行体,可向它发起invoke调用.在服务提供方,Invoker用于调用服务提供类.在服务消费方,Invoker用于执行远程调用. 二.服务提供方的Invoker 在服务提供方中的Invoker是由ProxyFactory创建而来的,Dubbo默认的ProxyFactory实现类为JavassistProxyFa

基于Dubbo框架构建分布式服务 (二)

Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配置就能够实现分布式服务调用,也就是说服务提供方(Provider)发布的服务可以天然就是集群服务,比如,在实时性要求很高的应用场景下,可能希望来自消费方(Consumer)的调用响应时间最短,只需要选择Dubbo的Forking Cluster模式配置,就可以对一个调用请求并行发送到多台对等的提供方

dubbo入门和springboot集成dubbo小例子

从零开始搭建springboot-dubbo的例子 Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案 一. Dubbo的简单介绍 1. 网站架构的发展历程 网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多....... 单一应用架构(OORM) 当网站流量很小时,将所有的功能部署到一起,以减少部署节点和成本.此时,只需要使用简化增删改查的工作量,采用数据访问框架(ORM). 垂直应用架构 (MVC) 当访问量逐

【Dubbo&&Zookeeper】1、Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

转自:http://blog.csdn.net/congcong68/article/details/41113239 互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应. 第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用

构建springmvc+mybatis+dubbo分布式平台-window安装dubbo管控台

dubbo管理控制台开源部分主要包含: 提供者 路由规则 动态配置 访问控制 权重调节 负载均衡 负责人,等管理功能. 下载dubbo管控台war包 解压dubbo.war包 修改dubbo.properties文件 dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.admin.root.password=root dubbo.admin.guest.password=root 将修改后的dubbo.war包放置到tomcat中并启动

dubbo本地服务化实现(dubbo三)

一.dubbo服务化架构包含的内容 对于传统工程而言,分层的依据是按照包来区分.由于在相同的工程中,所以服务的提供和调用可以方便的实现. 但是对于分布式架构而言,服务的提供者负责服务具体的实现和接口规范,服务的消费者只关心接口规范即可.但是 无论是服务的提供者还是服务的消费者都会涉及到诸如公共工具类.接口.DO.VO.等公共代码,因此一个简单的 dubbo服务架构模式如下: 服务提供者:提供服务接口的实现,发布服务地址,提供服务 服务消费者:获取服务地址,使用服务接口调用服务,处理服务调用结果

dubbo学习(十一)dubbo面试题

本文借鉴:史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官!(特此感谢!) 1.Dubbo是什么? Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目. 2.为什么要用Dubbo? 使用 Dubbo 可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展,使前端应用能更快速的响应多变的市场需求. 3.Dubbo 和 Spring Cloud 有什么区别? 通信方式不同 Dubbo 使用

如何编写更棒的代码:11个核心要点

作为一个合格的程序员,有太多的理由促使你去编写干净利落且可读性强的代码.最重要的是因为你编写的代码,将来会有很多人一次次地阅读.当你有一天回过头来看自己的代码时,你就会明白编写优雅的代码是多么的重要.另外,如果别人来阅读你编写的代码,你是否想知道别人看到那些烂代码无比抓狂的感受.因此,花多一点的时间去编写优雅的代码,将来说不定会给你节省更多的时间. 那么,如何编写更棒的代码,下面是11条基本规则: 1.保持方法简短扼要 2.永远永远不要将同一个变量用于不同的目的 3.尽可能让变量和方法的名称能够

学习dubbo(三): dubbo的管控台

第1步:将dubbo-admin-xxx.war放到ZK所在服务器上 第2步:将dubbo-admin-xxx.war解压到tomcat下的dubbo-admin下 进入到dubbo-admin下的WEB-INF下 修改dubbo.properties文件             #主机ip             dubbo.registry.address=zookeeper://192.168.91.3:2181             #用户名与密码             dubbo.