- 浏览: 890998 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
zzuliuli:
很实用,一直关注
mysql的执行计划 -
rxin2009:
你好,最近在解决redis数据同步的问题,找到了tedis,但 ...
taobao/tedis的redis集群 -
zhangping2056:
楼主接下来要考虑页面静态化与细节上面的东西了
Nginx与Redis解决高并发问题 -
XieFuQ:
Tomcat的重启shell脚本 -
jovinlee:
jovinlee 写道 jov ...
Tomcat的重启shell脚本
[1]Dubbo是[2]阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输
出和输入功能,可以和 [3]Spring框架无缝集成。主要核心部件
Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能 Registry: 服务目录框架用于服务的注册和服务事件发布和订阅编辑本段工作原理
Provider 暴露服务方称之为“服务提供者”。 Consumer 调用远程服务方称之为“服务消费者”。 Registry 服务注册与发现的中心目录服务称之为“服务注册中心”。 Monitor 统计服务的调用次调和调用时间的日志服务称之为“服务监控中心”。 (1) 连通性: 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销 注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表 注册中心和监控中心都是可选的,服务消费者可以直连服务提供者 (2) 健状性: 监控中心宕掉不影响使用,只是丢失部分采样数据 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务 注册中心对等集群,任意一台宕掉后,将自动切换到另一台 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯 服务提供者无状态,任意一台宕掉后,不影响使用 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复 (3) 伸缩性: 注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心 服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者编辑本段例子
服务端
定义一个Service Interface:(HelloService.java)package com.alibaba.hello.api; public interface HelloService { String sayHello(String name); } |
package com.alibaba.hello.impl; import com.alibaba.hello.api.HelloService; public class HelloServiceImpl implements HelloService { public String sayHello(String name) { return "Hello " + name; } } |
<?xml version="1.0" encoding="UTF-8"?> <beans ......> <!-- Application name --> <dubbo:application name="hello-world-app" /> <!-- registry address, used for service to register itself --> <dubbo:registry address="multicast://224.5.6.7:1234" /> <!-- expose this service through dubbo protocol, through port 2 0 8 8 0 --> <dubbo:protocol name="dubbo" port="2 0 8 8 0" /> <!-- which service interface do we expose? --> <dubbo:service interface="com.alibaba.hello.api.HelloService" ref="helloService" /> <!-- designate implementation --> <bean id="helloService" class="com.alibaba.hello.impl.HelloServiceImpl" /> </beans> |
import org.springframework.context.support.ClassPathXmlApplicationContext; public class Provider { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"provider.xml"}); //启动成功,监听端口为2 0 8 8 0 System.in.read(); // 按任意键退出 } } |
客户端
Spring配置文件:(consumer.xml)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns=......> <!-- consumer application name --> <dubbo:application name="consumer-of-helloworld-app" /> <!-- registry address, used for consumer to discover services --> <dubbo:registry address="multicast://224.5.6.7:1234" /> <!-- which service to consume? --> <dubbo:reference id="helloService" interface="com.alibaba.hello.api.HelloService" /> </beans> |
import org.springframework.context.support.ClassPathXmlApplicationContext; import com.alibaba.hello.api.HelloService; public class Consumer { public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"consumer.xml"}); HelloService helloService = (HelloService)context.getBean("helloService"); // get service invocation proxy String hello = helloService.sayHello("world"); // do invoke! System.out.println( hello ); // cool, how are you~ } } |
发表评论
-
SpringBoot 和Vue前后端分离入门教程(附源码)
2020-06-04 08:58 449推荐阅读(点击即可跳转阅读) 1. SpringBoot内 ... -
SkyWalking 分布式追踪系统
2019-12-13 14:35 0随着微服务架构的流行,一些微服务架构下的问题也会越来越 ... -
Kafka Consumer重置Offset
2019-09-26 10:25 0原文:https://zoeminghong.github. ... -
Maven打包Scala项目
2019-08-13 10:32 902本文仅讨论使用Maven+Scala项目打包可执行 ... -
两天快速开发一个自己的微信小程序
2019-04-09 13:43 0~~~ 更新于2018年8月7日 ~~~你们要的前端、服务 ... -
你用 Python 做过什么有趣的数据挖掘项目
2019-04-03 09:21 0有网友在知乎提问:「 ... -
告诉我你的报告价值在哪
2019-04-03 08:34 0我们多次提到过,分析师最大的价值就是专题报告,这个相当于分析 ... -
支撑百万连接的系统应该如何设计其高并发架构
2019-03-08 16:20 0目录 1、到底什么是连接? 2、为什么 ... -
支付系统
2019-03-06 08:43 0支付系统是连接消费者、商家(或平台)和金融机构的桥梁,管理支 ... -
Hystrix使用入门手册
2018-07-17 08:59 0导语:网上资料(尤其中文文档)对hystrix基 ... -
Spring Cloud for Microservices Compared to Kubernetes
2018-06-04 16:59 0Spring Cloud for Microservices ... -
手把手教你用Spring Cloud和Docker构建微服务
2018-06-04 16:52 0什么是Spring Cloud? Spring Clo ... -
cif
2018-06-03 13:15 01 -
开源 | 携程Apollo配置中心
2017-07-24 17:23 0随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、 ... -
去哪儿自动化测试框架Qunit中的零侵入切面技术应用及分布式运行平台
2017-07-24 16:04 0Qunit简介 Qunit是去哪儿 ... -
携程用户数据采集与分析系统
2017-06-13 16:35 0PPT下载请直接拖到文 ... -
分布式开放消息系统(RocketMQ)的原理与实践
2016-12-13 13:23 752备注:1.如果您此前 ... -
RocketMQ与Kafka对比(18项差异)
2016-12-13 13:15 453转自:https://github.com/alibaba/ ... -
使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
2015-09-02 17:26 873前言 但凡一个略 ... -
使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
2015-09-02 17:25 1529前言 上一篇随笔 Maven+Nexus+Jenkins+ ...
相关推荐
### Apache Dubbo:Apache Dubbo简介与快速入门 #### 一、Apache Dubbo 简介 ##### 1.1 Dubbo 是什么? Dubbo 是一个高性能、轻量级的开源微服务框架,由阿里巴巴开发并维护。它主要用于构建分布式系统,通过提供...
**Dubbo 简介** Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,由阿里巴巴开发并维护。它旨在提供一个高效、透明的远程服务调用解决方案,使得开发者可以像调用本地方法一样调用远程服务。Dubbo 的核心特性包括...
Dubbo是一款由阿里巴巴开源的高性能Java RPC框架,它在分布式系统中扮演着服务提供者和服务消费者之间的桥梁角色,使得远程调用如同本地方法调用一般简单。以下将详细阐述Dubbo的主要特性: 1. **面向接口代理的高...
Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它是阿里巴巴集团贡献给 Apache 基金会的项目。Dubbo 的设计目标是提供面向服务的、高性能、稳定的分布式服务解决方案,以应对互联网行业中大规模应用面临的复杂性...
阿里巴巴的dubbo和淘宝的hsf,到底哪个更好用呢,看了你就知道了
【Dubbo简介】 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心功能:服务注册与发现、远程调用、负载均衡。由阿里巴巴开源并在2011年成为Apache顶级项目,广泛应用于分布式系统开发。Dubbo的设计...
一、Dubbo简介 Dubbo由阿里巴巴开源,旨在解决大型分布式系统中服务治理的问题。它提供服务注册、服务发现、负载均衡、调用链跟踪、熔断和降级等核心功能,帮助开发者构建高可用、高性能的服务架构。 二、核心特性...
- **Dubbo简介**:Dubbo是一款高性能、轻量级的开源Java RPC框架,旨在为服务治理提供简单、全面的解决方案。 - **分布式系统概念**:分布式系统是由多台计算机组成的系统,这些计算机通过网络进行通信并协同完成...
一、Dubbo简介 Dubbo是一个基于Java的RPC(Remote Procedure Call)框架,它设计的目标是透明化服务调用,使得服务消费者和提供者可以在无感知的情况下进行通信。Dubbo的核心组件包括服务接口、服务提供者、服务消费...
#### 一、Dubbo简介 Dubbo是一个高性能、轻量级的开源服务框架,旨在提供高性能和透明化的RPC远程服务调用方案,是微服务架构的重要组成部分之一。它提供了面向接口代理的高性能RPC远程调用、智能容错和恢复、以及...
在dubbo简介中,了解到它是一个分布式服务框架,其核心目标是提供高性能的RPC远程服务调用方案。这使得在分布式环境中,服务的调用可以如同本地调用一样透明化,无需关心底层网络通信的细节。dubbo还致力于成为SOA...
#### 一、Dubbo简介与基本概念 - **Dubbo**是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:**面向接口的远程方法调用**、智能容错和负载均衡以及服务自动注册与发现。 - **RPC(Remote Procedure ...
1. **Dubbo简介**:Dubbo是一个基于Java的RPC(远程过程调用)框架,它提供了服务注册与发现、动态配置、负载均衡、监控等功能。Dubbo的核心设计理念是让服务提供者和消费者解耦,使得服务可以独立开发、部署和扩展...
1. **Dubbo简介**:首先会介绍Dubbo的基本概念,包括它的诞生背景、设计理念以及在分布式系统中的角色。理解这些基础信息对于后续深入学习至关重要。 2. **安装与配置**:课程会详细讲解如何在开发环境中搭建Dubbo...
1. **Dubbo简介** Dubbo是基于Java的RPC框架,旨在提高服务的透明性和可扩展性。它提供了一种服务化的解决方案,使开发者可以像调用本地方法一样调用远程服务,降低了分布式系统的复杂性。 2. **框架结构** Dubbo...
一、Dubbo简介 Dubbo由阿里巴巴开源,其核心功能包括服务注册与发现、远程调用、负载均衡、容错处理等。它支持多种协议,如RPC、HTTP等,适用于微服务架构中的服务治理。 二、本地测试服务的重要性 本地测试服务...
一、Dubbo简介 Dubbo是一个基于Java的RPC(远程过程调用)框架,它使得服务提供者可以在一个独立的应用中发布服务,而服务消费者可以在自己的应用中调用这些服务,就像调用本地方法一样。Dubbo的核心特性包括服务...
1. **Dubbo简介** Dubbo的核心功能包括服务注册与发现、远程调用、负载均衡、容错机制和集群管理。它提供了一种简单易用的API,使得开发人员能够轻松地实现服务间的通信。 2. **服务注册与发现** Dubbo通过...
#### 一、Dubbo简介 Dubbo 是一款高性能、轻量级的开源服务框架,旨在为开发者提供一个全面的服务治理解决方案。它支持多种服务注册与发现机制,并且提供了丰富的服务治理功能,包括但不限于负载均衡、容错策略以及...
1. **Dubbo简介** Dubbo是一个基于Java的RPC(远程过程调用)框架,它强调服务的注册与发现,使得微服务架构中的服务间通信变得简单。Dubbo提供了包括服务提供方、服务消费方、注册中心、监控中心等在内的关键组件...