Dubbo是什么:
分布式服务框架
--高性能和透明化的RPC远程服务调用方案
--SOA服务治理方案
Dubbo解决问题:
透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器。
服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。
Maven工程搭建:
pom文件见附件pom.zip
项目工程结构:
applicationContext_dubbo-provider.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:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- ************************************************************************ -->
<!-- 将多个配置文件位置放到列表中 -->
<bean id="propertyResources" class="java.util.ArrayList">
<constructor-arg>
<list>
<value>classpath:/config.properties</value>
</list>
</constructor-arg>
</bean>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations" ref="propertyResources" />
</bean>
<!-- ************************************************************************ -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="dubbo-service-provider" />
<!-- 使用multicast广播注册中心暴露服务地址 -->
<!--
<dubbo:registry address="multicast://224.5.6.7:1234" />
<dubbo:protocol name="dubbo" port="10880" />
-->
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry id="techtestRegistry" protocol="zookeeper" address="172.16.11.15:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<dubbo:protocol name="rmi" port="1099" />
<dubbo:protocol name="hessian" port="8080" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="cn.ias.agdis.techtest.dubbo.provider.service.UserService"
ref="userService" version="1.0.0" protocol="dubbo,hessian"/>
<!-- 和本地bean一样实现服务 -->
<bean id="userService" class="cn.ias.agdis.techtest.dubbo.provider.service.impl.UserServiceImpl">
<property name="dao" ref="userDao"/>
</bean>
<!-- dao bean -->
<bean id="userDao" class="cn.ias.agdis.techtest.dubbo.provider.dao.impl.UserDaoImpl" />
</beans>
applicationContext_dubbo-consumer.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:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!--消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<dubbo:application name="dubbo-service-consumer" />
<dubbo:consumer check = "false"/>
<!-- 使用multicast广播注册中心暴露服务地址 -->
<!--
<dubbo:registry address="multicast://224.5.6.7:1234" />
<dubbo:protocol name="dubbo" port="10880" />
-->
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry protocol="zookeeper" address="172.16.11.15:2181" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:reference id="userServiceRPC" interface="cn.ias.agdis.techtest.dubbo.provider.service.UserService"
version="1.0.0" registry="techtestRegistry"/>
</beans>
web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<!-- location of spring xml files -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/applicationContext_dubbo-provider.xml,classpath:/applicationContext-webservice-producer.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- CXF servlet -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- all our webservices are mapped under this URI pattern -->
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservices/*</url-pattern>
</servlet-mapping>
</web-app>
工程源码:
源码文件见附件 mytechtest.zip
- 大小: 68.9 KB
- 大小: 68.1 KB
分享到:
相关推荐
1. **设置SpringBoot项目**:创建SpringBoot项目,添加Dubbo和Zookeeper的相关依赖。 2. **配置Dubbo**:定义服务提供者和服务消费者的接口,以及相应的实现类。在配置文件中配置Dubbo的相关参数,如服务端口、协议...
本项目"springBoot+dubbo+zookeeper分布式微服务"充分利用了这三个组件的优势,构建了一个高效、可扩展且易于维护的服务网络。以下是对这些技术及其整合应用的详细说明: **SpringBoot** SpringBoot是Spring框架的...
【标题】"dubbo+zookeeper+spring+springMVC+mybatis" 描述了一个基于这些技术构建的服务消费方与服务提供方的项目架构。在这个架构中,`Dubbo`是核心的服务框架,它负责服务的注册与发现;`Zookeeper`作为注册中心...
### Spring Boot + MyBatis + Dubbo + Zookeeper + Nginx + Redis 技术栈概览 #### 一、项目概述与技术选型 在《Springboot + Mybatis+Dubbo+Zookeeper+nginx+redis+HTML.docx》这份文档中,作者详细介绍了如何...
通过Zookeeper进行服务注册和发现,借助Spring管理Bean,以及Dubbo提供的RPC框架,我们可以快速搭建起一个可扩展、高可用的服务架构。对于理解分布式服务治理和实践微服务架构具有重要意义。在实际项目中,开发者...
使用springboot+dubbo+zookeeper+fluent-mybatis+swagger+mysql搭建的简单案例
- **POM 配置**:生产者项目的 POM 文件中需要添加 Dubbo 和 ZooKeeper 的相关依赖。 - **配置文件**:在 `application.properties` 中配置 Dubbo 服务端的相关参数,如服务名称、注册中心地址、协议名称和端口等。 ...
当搭建一个基于Dubbo、Zookeeper和Spring的项目时,以下是一些关键步骤和知识点: 1. **环境准备**:首先确保安装了JDK,并配置好Java环境变量。同时,下载并启动Zookeeper服务器,确保其正常运行。 2. **引入依赖...
这个“springcloudalibaba微服务dubbo+sentinel+gateway+zookeeper+nacos的demo”压缩包文件,显然是一个实战示例,旨在帮助开发者理解并实践这些关键组件的集成与使用。下面将详细解析这些组件以及它们在微服务架构...
自己手动搭建的nginx+springboot+zookeeper+dubbo+mybatis+dubboadmin,nginx做前后端分离,负载均衡,springboot+zookeeper+dubbo做后端接口,mybatis为数据库持久化层,dubboadmin做监控中心,解压直接用idea导入...
- **打包部署**: 将服务提供者和消费者项目打包,部署到服务器上,启动应用,服务提供者会自动在Zookeeper中注册,服务消费者则会通过Zookeeper找到服务提供者。 5. **jar包的作用**: - "dubooC2"可能包含了...
dubbo+zookeeper+MQ极简搭建版,在里面搭建了一个非常基础简单的dubbo+zookeeper。并编写了文档,方便每一个新手使用。 同时,我添加了一个MQ有关类。又想看mq的正好可以一起看了,直接执行就可以了。非常舒服。
自己从零开始搭建的springboot框架,可以参照我的博客有详细的步骤,很适合初学者,前端整合jsp博客:http://blog.csdn.net/u010775025/article/details/79194348,dubbo+zk整合博客:...代码gitHub也可以下载上面的会...
项目是idea 所搭建的. 配置文件中吧zookeeper 注册中心给屏蔽了,同时数据的密码也是给关了的。zookeeper 搭建网上教程多,这里就不在提供了,zookeeper 搭建好后,CityDubboConsumerService 没有操作数据库,...
Dubbo 和 ZooKeeper 是两个广泛使用的开源项目,它们分别解决了不同层面的问题。Dubbo 是一款高性能、轻量级的 Java RPC 框架,而 ZooKeeper 是一个分布式的、开放源码的协同服务管理系统,常用于实现服务发现、配置...
【标题】:“(完整)maven多模块+springMVC+Mybatis(自动生成)+dubbo+Zookeeper” 涵盖的是一个基于Java的高级Web应用架构的集成方案,这个项目利用了一系列主流的技术框架来构建高效、可扩展的企业级应用。...
在本项目中,Zookeeper3.4.14作为服务发现和配置管理的角色,它可以帮助Dubbo服务进行注册与发现,实现服务间的通信。此外,Zookeeper还可以用于集群管理、分布式锁等场景。 在这个“Springboot+Dubbo+Zookeeper船...
根据给定的文件信息,本文将详细介绍如何搭建RabbitMQ、Zookeeper、Dubbo、Nginx、Mysql以及Redis的技术环境。以下内容将着重于每项技术的基础安装与配置,旨在为读者提供一个全面且实用的技术栈搭建指南。 #### 一...