zookeeper安装
MAC: brew install zookeeper brew services start zookeeper (其他系统版本参考官方文档)
项目结构
项目结构
dubbo-zk-demo
|-- dubbo-zk-produce(服务生产端)
|-- dubbo-zk-consume(服务消费端)
|-- dubbo-zk-service(公共类包,由于消费端需要定义与生产端一样的成员变量与方法名,这里包括service以及实体类,所以一般以jar包形式提供给服务消费端引入)
|-- dubbo-zk-produce(服务生产端)
|-- dubbo-zk-consume(服务消费端)
|-- dubbo-zk-service(公共类包,由于消费端需要定义与生产端一样的成员变量与方法名,这里包括service以及实体类,所以一般以jar包形式提供给服务消费端引入)
服务生产者(provider)
- 创建标准springboot项目
- pom.xml引入以下依赖
<dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <version>${dubbo-spring-boot}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.13</version> </dependency>
- 修改application.properties文件
### 服务生产者应用名称 spring.dubbo.application.name=provider ### 服务发现注册地址(zookeeper) spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 spring.dubbo.protocol.name=dubbo spring.dubbo.protocol.port=20880 ### 这里需要注意,属性设置的是需要暴露的接口所在的包(实现类) spring.dubbo.scan=com.hyh.dubbozkproduce.service ## 生产服务端口 server.port=8082
- 示例代码
User.java(实体对象需要实现Serializable,建议以包的形式提供给服务消费端引用,位于dubbo-zk-service子项目)
public class User implements Serializable { private int id; private String name; private String phone; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } }
UserService.java(业务接口类,建议以包的形式提供给服务消费端引用,位于dubbo-zk-service子项目)
package com.hyh.dubbo_zk.service; import com.hyh.dubbo_zk.entity.User; public interface UserService { User getUser(); }
UserServiceImpl(业务实现类,需要暴露出去的接口,位于dubbo-zk-produce子项目)
// @Service标签引入的是dubbo包下的Service @Service(version = "1.0.0", interfaceName = "com.hyh.dubbo_zk.service.UserService") public class UserServiceImpl implements UserService { @Override public User getUser() { User user = new User(); user.setId(1); user.setName("hong"); user.setPhone("13450362589"); return user; } }
服务消费者(consume)
- 创建标准springboot项目
- pom.xml引入以下依赖
<dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <version>${dubbo-spring-boot}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.13</version> </dependency> <!-- 引入service包 --> <dependency> <groupId>com.hyh</groupId> <artifactId>dubbo-zk-service</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
- 修改application.properties文件
## Dubbo 服务消费者配置 spring.dubbo.application.name=consumer spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 ## 配置dubbo扫描目录,即调用dubbo服务的组件所在的包 spring.dubbo.scan=com.hyh.dubbozkconsume.component server.port=8081
- 服务调用关键代码(位于dubbo-zk-consume子项目)
@Component public class UserComponent { @Reference(version = "1.0.0", interfaceName = "com.hyh.dubbo_zk.service.UserService") public UserService userService; public void getUser() { System.out.println(userService.getUser().getName()); } }
示例项目git地址
项目地址
https://gitee.com/hyhsoftware/dubbo-zk-demo.git
注意事项
另外注意引入spring-boot-devtools会引起ClassCastException,具体原因待有空再研究了,后续有机会再补充这块
欢迎转载,转载请写明出处:http://hyhsoftware201306230541.iteye.com/blog/2427161
本文仅作为一个简单示例,如有不同见解,欢迎留言交流。
相关推荐
在这个项目中,文件名"springboot+zookeeper+dubbo"可能代表了项目的主要构成部分,包含了使用SpringBoot、Zookeeper和Dubbo的示例代码或配置文件。开发者可以通过研究这些文件,学习如何将这三个组件整合在一起,...
在现代企业级应用开发中,SpringBoot...总之,SpringBoot整合Dubbo和Zookeeper是一个强大的组合,它提供了高效的服务治理和微服务间的通信能力。通过全注解的方式,我们可以快速构建起一个健壮且易于维护的分布式系统。
该资源包含springboot整合dubbo的一个小demo,和zookeeper的window版本。博客链接为:https://blog.csdn.net/dayonglove2018/article/details/109156635
本文将深入探讨如何将SpringBoot 2.4.2与Dubbo 2.7.8以及Zookeeper 3.4.14整合,帮助初学者快速入门。 首先,SpringBoot是由Pivotal团队开发的一个框架,它简化了Spring应用的初始搭建和配置过程。通过内置的Tomcat...
在SpringBoot中整合Dubbo,我们通常会引入Dubbo的Spring Boot Starter,这样可以利用SpringBoot的启动方式来管理Dubbo的服务提供者和消费者。配置主要涉及dubbo.application.name(应用名)、dubbo.registry.address...
1.SpringBoot聚合工程整合Dubbo,实现服务提供者与服务消费者的数据调用, 2.该项目提高了自己对Spring Boot整合Dubbo的理解,并深刻的认识到了服务者与消费者之间的调用及流程 4. Dubbo配置全部采用yml文件配置,...
标题 "Springboot+Redis+Dubbo+Rocketmq" 暗示了这是一个关于构建分布式系统的技术组合,其中Springboot作为基础框架,Redis用于缓存管理,Dubbo是服务治理框架,而Rocketmq则是消息中间件。现在,我们将深入探讨...
在SpringBoot中整合Dubbo,可以让服务之间实现高效且透明的通信。通过定义接口并实现远程调用,服务提供者可以在后台运行,而服务消费者可以通过简单的API调用来获取服务。 3. Zookeeper: Apache ZooKeeper是一个...
【Springboot+Dubbo+Zookeeper船新版本】是一个整合了Spring Boot、Dubbo和Zookeeper的现代化微服务架构示例。这个项目旨在帮助初学者理解如何在最新的技术栈下搭建一个分布式服务系统。 首先,Spring Boot是Spring...
这篇博客文章“springboot整合dubbo,zookeeper”将探讨如何将这三者有效地结合在一起,构建一个高效、可靠的微服务架构。 首先,Spring Boot 是由Pivotal团队提供的全新框架,它简化了Spring应用的初始搭建以及...
自己从零开始搭建的springboot框架,可以参照我的博客有详细的步骤,很适合初学者,前端整合jsp博客:http://blog.csdn.net/u010775025/article/details/79194348,dubbo+zk整合博客:...代码gitHub也可以下载上面的会...
【标题】"eclipse springboot+dubbo+zk+mybatis restful编程风格"涉及的关键技术栈包括了Eclipse IDE、Spring Boot、Dubbo、Zookeeper以及MyBatis,并且采用了RESTful编程风格。这些组件共同构成了一个高效、可扩展...
本文将深入探讨如何将SpringBoot、Dubbo、Zookeeper和MyBatis这四个关键技术进行集成,构建高效且可扩展的微服务架构。 **SpringBoot** SpringBoot是由Pivotal团队提供的全新框架,它旨在简化Spring应用的初始搭建...
整合Dubbo、Zookeeper和SpringMVC的步骤如下: 1. **设置环境**:确保所有必要的依赖库(如dubbo、zookeeper、spring-mvc等)已添加到项目中,可以通过Maven或Gradle进行管理。 2. **创建服务提供者**:在服务提供...
本项目是集成dubbo和zookeeper的一个练习项目,基于注解的配置形式,没有xml文件 ## 环境 #### 操作系统:ubuntu 16.04 LTS #### 开发工具:Idea ## 搭建过程 ### 一、安装zookeeper #### 1、下载zookeeper源码包 >...
自己从零开始搭建的springboot框架,可以参照我的博客有详细的步骤,很适合初学者http://blog.csdn.net/u010775025/article/details/79224824,代码gitHub也可以下载但是上面的会实时更新,后面会集成其他组件的东西
项目是idea 所搭建的. 配置文件中吧zookeeper 注册中心给屏蔽了,同时...zookeeper 搭建网上教程多,这里就不在提供了,zookeeper 搭建好后,CityDubboConsumerService 没有操作数据库,MachineService是操作了数据库的
本项目结合了Dubbo、SpringBoot、Maven和Zookeeper等技术,构建了一个模块化的微服务系统。下面将详细阐述这些技术及其在项目中的应用。 首先,Dubbo是阿里巴巴开源的一款高性能Java RPC框架,它提供服务治理功能,...
本项目"Springboot整合Dubbo/ZooKeeper_demo"将展示如何在Spring Boot应用中集成Dubbo和ZooKeeper,实现服务的提供者和服务消费者之间的通信。 首先,Spring Boot是基于Spring框架的快速开发工具,它通过自动配置、...
《SpringBoot+Dubbo+Zookeeper整合应用详解》 在当今快速发展的互联网行业中,微服务架构已经成为企业级应用开发的主流选择。SpringBoot以其简洁的配置、强大的集成能力,成为了构建微服务的重要工具。而Dubbo作为...