nutzboot dubbo zookeeper简单使用
提供方和消费方properties 配置基本差不多
nutz.application.name这个值不一样
提供方配置自动端口就行server.port=0
消费方一般需要对外提供web服务配置ip和端口server.port=8088 server.host=0.0.0.0
服务提供方 application.properties
server.port=
nutz.application.name=server
dubbo.registry.address=zookeeper://127.0.0.1:
dubbo.protocol.name=dubbo
dubbo.protocol.port=
dubbo.annotation.package=com.chao.dubbo.rpc
服务消费方
server.port=
server.host=0.0.0.0
nutz.application.name=client
dubbo.registry.address=zookeeper://127.0.0.1:
dubbo.protocol.name=dubbo
dubbo.protocol.port=
dubbo.annotation.package=com.chao.dubbo.rpc
添加依赖
<!--nutzboot 核心依赖-->
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutzboot-core</artifactId>
<version>2.3-SNAPSHOT</version>
</dependency>
<!--日志相关-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<!--dubbo依赖-->
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutzboot-starter-dubbo</artifactId>
<version>2.3-SNAPSHOT</version>
</dependency>
<!--接口项目依赖-->
<dependency>
<groupId>com.chao.test</groupId>
<artifactId>dubbo-common</artifactId>
<version>${project.version}</version>
</dependency>
<!--zookeeper客户端依赖-->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.11</version>
</dependency> <!--下面依赖 服务提供方不要加入,服务消费方使用对外提供web服务-->
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutzboot-starter-nutz-mvc</artifactId>
<version>${nutzboot.version}</version>
</dependency>
<dependency>
<groupId>org.nutz</groupId>
<artifactId>nutzboot-starter-jetty</artifactId>
<version>${nutzboot.version}</version>
</dependency>
接口项目(dubbo-common 就一个接口类什么都没有)
public interface TimeService {
long now();
}
服务提供方项目(dubbo-server)
@IocBean
@Service(interfaceClass = TimeService.class)
public class TimeServiceImpl implements TimeService { public long now() {
return System.currentTimeMillis();
} }
启动类
@IocBean
public class ServiceLauncher { public static void main(String[] args) throws Exception{
new NbApp().run();
}
}
服务消费方项目(dubbo-client)
@IocBean
public class ClientLauncher {
//注入远程服务
@Inject
@Reference
private TimeService timeService; //使用http://localhost:8088/now调用测试
@At
@Ok("raw")
public long now(){
return timeService.now();
} public static void main(String[] args) throws Exception{
new NbApp().run();
}
}
不要忘了启动zookeeper客户端
(win) zkServer.cmd (linux) zkServer.sh
nutzboot dubbo zookeeper简单使用的更多相关文章
- MAC环境下idea:maven+Spring+Dubbo+Zookeeper简单工程搭建
: 一:安装软件:tomcatZookeeperDubbo+admin 二:工程: 总工程 API Pom.xml:不用引用任何东西 Provider Pom.xml:要denpend ...
- Dubbo + Zookeeper 简单配置
Dubbo + Zookeeper Zookeeper 下载及配置 下载到本机/usr/local目录 wget https://mirrors.tuna.tsinghua.edu.cn/apache ...
- dubbo+zookeeper简单环境搭建
dubbo+zoopeeper例子 [TOC] 标签(空格分隔): 分布式 dubbo dubbo相关 dubbo是目前国内比较流行的一种分布式服务治理方案.还有一种就是esb了.一般采用的是基于Ap ...
- springboot搭建dubbo+zookeeper简单案例
背景:只是自己使用单机版zookeeper搭建dubbo的一个学习案例,记录成功的过程 1.搭建zookeeper坏境 使用docker来构建环境 1.1 拉取镜像:docker pull zooke ...
- Dubbo+Zookeeper实现简单的远程方法调用示例
1. Dubbo介绍 示例代码:Github 1.1 RPC Remote Procedure Call:远程过程调用 1.2 Dubbo架构 Subscribe 订阅:签署:赞成 Monitor 监 ...
- dubbo+zookeeper+springboot简单示例
目录 dubbo+zookeeper+springboot简单示例 zookeeper安装使用 api子模块 生产者producer 消费者consumer @(目录) dubbo+zookeeper ...
- SpringBoot + Dubbo + zookeeper 搭建简单分布式服务
SpringBoot + Dubbo + zookeeper 搭建简单分布式服务 详细操作及源码见: https://github.com/BillyYangOne/dubbo-springboot
- Dubbo与Zookeeper简单理解
理论 在<分布式系统原理与范型>一书中有如下定义:"分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统 "; 分布式系统是由一组通过网络进行通信. ...
- 用dubbo+zookeeper+spring搭建一个简单的http接口程序
dubbo是一个分布式服务框架,是阿里巴巴开发的一个解决RPC远程调用优化的核心框架,包含负载均衡算法,能提高分布式系统的性能. zookeeper是hadoop的一个子项目,主要用来解决分布式系统的 ...
随机推荐
- s:if
<s:iterator value="value[3]" id="ques" status="s"> <s:if test ...
- 客户端调用cxf发布的服务
import java.util.ArrayList; import java.util.List; import javax.xml.namespace.QName; import org.apac ...
- double转int时精度不一致问题
float和double类型的主要设计目的是为了科学计算和工程计算.它们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的.然而,它们没有提供完全精确的结果,所以不应该 ...
- Jquery 获取所有对象的第一个子元素
转自:http://blog.sina.com.cn/s/blog_5fdbd0410100pmnn.html <ul> <li>John</li> <l ...
- Yii 表单验证规则---总结
Filter: 过滤,'filter'=>'trim',表示去空格 Required:必须的,表示不能为空 Match: 匹配正则,需要和pattern一起使用,定义正则表达式,'pattern ...
- Windows下Tesseract4.0识别与中文手写字体训练
一 . tesseract 4.0 安装及使用 1. tesseract 4.0 安装 安装包下载地址: http://digi.bib.uni-mannheim.de/tesseract/tesse ...
- vi编辑器的使用(2)
1.4 光标移动 vi编辑器中的很多命令都是基于光标当前位置的,因此,如何移动光标定位到所需要的位置是一项十分重要的工作,下面进行详细介绍(如无特别说明,下面所讲的命令都是在普通模式下执行). 1. ...
- bzoj 1098 [POI2007]办公楼biu——链表
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1098 求补图的连通块大小.与自己没有边的和自己在一个连通块里. 用链表把所有点串起来.先给自 ...
- React-Native 基本环境的搭建
看了一些RN资料,仅仅了解到人们对 RN(以下简称 React_native 框架) 的使用描述以及评价,就觉得RN是一个很不错的框架,值得学习.今天就开始写我的学习记录,也给大家分享一下.下面进入正 ...
- 使用 NSData 分类实现,对 NSData 数据类型进行 AES 加密
一般对NSData的数据类型进行加密,这里就将 .h .m 文件分享出来,有需要的可以直接粘贴使用. 下面是 .h 文件 #import <Foundation/Foundation ...