由于这发图片麻烦,需要图文版的请加 q群 216396734
源码下载 https://github.com/liuchunxue/dubbo
DUBBO框架搭建
一.Dubbo介绍
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架
二.Dubbo搭建
Dubbo框架搭建主要包括以下几个组成部分
1) 注册中心安装,这里我使用zookeeper做为注册中心(Registry)
2) Dubbo监控中心部署
3) 爆露服务的服务提供方开发(Provider)
4) 服务运行容器开发(Container)
5) 服务消费放开发
1)zookeeper安装
注意:安装zookeeper前要先安装jdk,jdk最好使用1.7的版本,不然后面的监控中心会出问题
官网下载zookeeper http://www.apache.org/dist/zookeeper/
这里我选择的是3.4.9版本,是目前发布的最新一个稳定版本
解压到/opt/目录
tar -zxvf zookeeper-3.4.9.tar.gz -C /opt/
切换到该目录下的conf目录
因为zk启动的时候会默认加载conf下的zoo.cfg文件,所以我们需要把zoo_sample.cfg复制一份
cp zoo_sample.cfg zoo.cfg
如果不修改dataDir=/tmp/zookeeper目录的话,这个文件默认的就可以了
切换到bin目录启动服务
至此,zookeeper安装完成
2)部署dubbo-admin
Tomcat自己安装。
下载dubbo-admin-2.4.1.war包,在Linux的tomcat部署,先把dubbo-admin-2.4.1放在tomcat的webapps/ROOT下,然后进行解压:
#jar -xvf dubbo-admin-2.4.1.war
解压以后在webapps/ROOT/WEB-INF目录下有一个dubbo.properties文件编辑该文件
主要就是刚刚安装的zookeeper地址
启动tomcat并访问服务
账户为root密码也是root
我们可以通过
看到我们的zookeeper已经连接上
3)爆露服务的服务提供方开发(Provider)
创建dubbo-api项目并编写代码
package com.feng;
public interface DemoService {
String sayHello(String name) throws Exception;
}
该应用发布为jar供服务器和消费端使用
4) 服务运行容器开发(Container)
DemoServiceImpl.java
package com.feng.impl;
import com.feng.DemoService;
public class DemoServiceImpl implements DemoService {
public String sayHello(String name) throws Exception {
if("Excetion".equals(name)){
throw new Exception("myException");
}
return "Hello " + name;
}
}
service.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"
default-lazy-init="false">
<!-- 提供方应用名称信息,这个相当于起一个名字,我们dubbo管理页面比较清晰是哪个应用暴露出来的 -->
<dubbo:application name="dubbo_provider"></dubbo:application>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://192.168.137.129:2181"
check="false" subscribe="false" register=""></dubbo:registry>
<dubbo:protocol name="dubbo" port="20880" />
<!-- 要暴露的服务接口 -->
<dubbo:service interface="com.feng.DemoService" ref="demoService" />
<bean id="demoService" class="com.feng.impl.DemoServiceImpl" />
</beans>
编写一个起点测试程序
Provider.java
package com.feng;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Provider {
public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "service.xml" });
System.out.println("发布成功");
context.start();
System.in.read(); // 按任意键退出 } }
}
}
查看dubbo-admin
所以服务已经注册成功。
5)消费者开发
创建dubbo-customer应用
</beans>
customer.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"
default-lazy-init="false" >
<dubbo:application name="dubbo_consumer"></dubbo:application>
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" check="false"></dubbo:registry>
<!-- 要引用的服务 -->
<dubbo:reference interface="com.feng.DemoService" id="demoService"></dubbo:reference>
编写一个启动测试程序
运行成功
看bubbo-admin上也多了一个消费者
Custom.java 并运行
package com.feng;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Custom{
public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "customer.xml" });
DemoService demoService=(DemoService)context.getBean("demoService");
String xx=null;
try{
xx=demoService.sayHello("feng");
}catch(Exception e){
e.printStackTrace();
}
System.out.println(xx);
context.start();
System.in.read();
}}
至此。。。。。Dubbo全部搭建成功。 为简单所有服务都没有使用web服务器。
分享到:
相关推荐
【Dubbo框架搭建详解】 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的Java RPC框架,旨在简化分布式系统开发,实现服务的透明调用。它提供了丰富的服务治理功能,包括服务注册与发现、负载均衡、容错机制、监控等...
《Dubbo框架搭建入门教程——从零开始》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,已经成为Java领域微服务架构中的重要组件。对于初学者来说,掌握Dubbo的使用和搭建是至关重要的。本教程将...
【标题】"dubbo-SSM框架搭建.zip"是一个涵盖了基于Spring、SpringMVC、Mybatis和Dubbo的分布式项目构建教程。这个压缩包提供了一个简单的项目实例,旨在帮助初学者理解和实践如何将这些组件整合在一起,搭建一个完整...
dubbo框架及dubbo环境搭建 Dubbo 框架是一种分布式服务框架,旨在提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。 Dubbo 框架的核心部分包含远程通讯、集群容错和自动发现三个部分。 在 ...
分布式服务框架Dubbo是阿里巴巴开源的一款高性能、轻量级的服务治理解决方案,主要应用于Java环境。在本Demo中,我们将探讨如何基于Spring和Zookeeper搭建一个基础的Dubbo架构。 首先,我们要了解Dubbo的核心概念。...
Dubbo框架和SSM框架搭建。
Dubbo是一个高性能、轻量级的开源Java RPC框架,它提供了面向服务的治理方案,是阿里巴巴贡献给社区的重要中间件之一。本教程将详细介绍如何搭建Dubbo环境,并通过一个小例子来帮助你理解其核心概念。 首先,让我们...
1. **Dubbo框架搭建**: Dubbo是一个高性能、轻量级的开源Java RPC框架,它提供了丰富的服务治理功能,如服务注册、服务发现、负载均衡、容错机制等。在本项目中,首先需要在pom.xml文件中引入Dubbo的相关依赖,...
【Dubbo 搭建与使用详解】 Dubbo 是一个由阿里巴巴开源的高性能、轻量级的Java RPC框架,主要用于构建分布式服务系统。后来,由于阿里巴巴不再维护,当当网接手并进行了优化,推出了Dubbox,它在Dubbo的基础上增加...
SpringBoot简化了Spring应用的初始设置和开发过程,MyBatis是一个轻量级的持久层框架,而Dubbo则是阿里巴巴开源的高性能服务治理平台。这篇内容将深入探讨如何将这三个框架集成并进行日志配置。 首先,让我们从...
【描述】:这篇博客通过一个简单的实例,引导读者了解如何入门Dubbo框架的使用。它可能是以创建一个包含服务提供者和服务消费者的基本项目为背景,逐步讲解了Dubbo的配置与运行流程。 【标签】:“源码”和“工具”...
### DUBBO本地搭建及小案例 #### 一、DUBBO概述 DUBBO是一款高性能、轻量级...通过上述步骤,我们不仅完成了DUBBO本地环境的搭建,还实现了简单的服务提供者和消费者模型,进一步加深了对DUBBO框架的理解和实践能力。
Dubbo 是阿里巴巴开源的一款高性能、轻量级的 Java RPC 框架,它提供了服务治理、负载均衡、容错机制等核心功能,广泛应用于微服务架构中。本资源是基于博客“Dubbo+zookeeper 最简单的分布式搭建”的源码,将帮助...
本教程将详细讲解如何搭建一个基于Dubbo和Zookeeper的环境,以实现微服务架构中的服务治理。 首先,我们要理解Dubbo的核心概念。Dubbo是由阿里巴巴开发的一款高性能、轻量级的Java RPC框架,它提供了服务发现、服务...
dubbo框架搭建demo,服务提供方采用spring+Ibatis,服务的消费方主要采用的是MVC,只做一个控制反转,不做任何业务逻辑处理,服务的消费方使用java自动获取zk上单服务,不需要些配置文件
Dubbo 是一个高性能、轻量级的开源 Java RPC 框架,它主要解决分布式系统中的服务调用问题。服务搭建涉及到配置、注册中心、服务提供者和服务消费者等关键环节。 【描述分析】 描述简洁地重申了标题的信息,"dubbo ...
Dubbo是中国阿里巴巴开源的一款高性能、轻量级的Java服务治理框架,它主要专注于服务发现、负载均衡和服务调用等核心功能。本篇文章将详细介绍如何搭建Dubbo开发环境,并通过一个入门级的Demo来帮助理解其基本用法。...
Dubbo是一个高性能、轻量级的开源Java RPC框架,由阿里巴巴集团开发并维护。它旨在提供一个高效、灵活的服务治理方案,帮助开发者构建分布式服务架构。本教程将指导你如何进行一个简单的Dubbo环境搭建,包括客户端和...
Dubbo是一款高性能、轻量级的Java RPC框架,它提供了面向接口的编程,动态调用,智能路由,负载均衡,容错和隔离等功能,使得服务治理变得简单。Dubbo-admin是Dubbo的服务治理平台,用于监控和管理服务。 Dubbo-...
在Java开发环境中,Eclipse是一款广泛使用的集成开发环境(IDE),Maven则是一个强大的项目管理和构建工具,而Dubbo是一个高性能、轻量级的Java分布式服务框架。本教程将详细介绍如何利用Eclipse来搭建包含Maven和...