内容简介:青青草原羊村中,对于几只调皮的小羊,特别是懒羊羊,慢羊羊村长可是费了不少心思呢。几只小羊尚且如此,那么对于服务的治理,我们该怎么办呢。为了解决服务治理,阿里专门开发了服务治理的RPC框架-该教程,用于了解Dubbo + zookeeper的使用,之后会有其原理介绍与代码分析。
前言
青青草原羊村中,对于几只调皮的小羊,特别是懒羊羊,慢羊羊村长可是费了不少心思呢。几只小羊尚且如此,那么对于服务的治理,我们该怎么办呢。
为了解决服务治理,阿里专门开发了服务治理的RPC框架- Dubbo ,对于这个,你岂能不了解呢~~
该教程,用于了解Dubbo + zookeeper的使用,之后会有其原理介绍与代码分析。
安装zk
- zookeeper 官网下载zk.
- 修改 /conf/zooexample.cfg 为zoo.cfg
tickTime=2000 dataDir= ../data (填写自己的data目录) dataLogDir=../logs clientPort=2181 复制代码
- 启动zk,
./bin/zkServer.sh start,成功如下:
ZooKeeper JMX enabled by default Using config: /Users/zyq/develomentEnvir/zookeeper-3.4.12/bin/../conf/zoo.cfg Starting zookeeper ... STARTED 复制代码
创建项目
创建多模块项目
core模块 (被Provider和Consumer共同依赖的项目)
- 创建com.chezhe.chezheService
package com.chezhe;
public interface CheZheService {
String hello();
}
复制代码
- 创建com.chezhe.CheZheService2
package com.chezhe;
public interface CheZheService2 {
String hello();
}
复制代码
provider 生产者
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> </dependency> <dependency> <groupId>com.chezhe</groupId> <artifactId>core</artifactId> <version>1.1-SNAPSHOT</version> </dependency> 复制代码
application.properties
# 端口号配置 server.port=8081 #dubbo配置 spring.dubbo.application.name=provider //随便填 spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 //zk地址 spring.dubbo.protocol.name=dubbo //设置RPC协议为dubbo协议 spring.dubbo.protocol.port=25040 //生产者暴露的服务端口 spring.dubbo.scan=com.chezhe //需要扫描的包(带有service注解的类) spring.dubbo.consumer.check=false spring.dubbo.timeout=10000 //调用dubbo超时时间 复制代码
实现类
- 实现类1
package com.chezhe.service.impl;
@Service
public class CheZheServiceImpl implements CheZheService {
@Override
public String hello() {
return "你好,车辙";
}
}
复制代码
- 实现类2
package com.chezhe.service.impl;
@Service
public class CheZheServiceImpl2 implements CheZheService2 {
@Override
public String hello() {
return "你好,车辙";
}
}
复制代码
consumer 消费者
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> </dependency> <dependency> <groupId>com.chezhe</groupId> <artifactId>core</artifactId> <version>1.1-SNAPSHOT</version> </dependency> 复制代码
application.properties
# 端口号配置 server.port=8082 #dubbo配置 spring.dubbo.application.name=consumer //随便填 spring.dubbo.registry.address=zookeeper://127.0.0.1:2181 //zk地址 spring.dubbo.scan=com.chezhe //需要扫描的包(带有service注解的类) spring.dubbo.consumer.check=false spring.dubbo.timeout=10000 //调用dubbo超时时间 复制代码
controller
@RestController
public class CheZheController {
@Reference
private CheZheService cheZheService;
@RequestMapping(value = "/cheZheTest",method = RequestMethod.GET)
public String cheZheTest(){
return cheZheService.hello();
}
}
复制代码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Writing Apache Modules with Perl and C
Lincoln Stein、Doug MacEachern / O'Reilly Media, Inc. / 1999-03 / USD 39.95
Apache is the most popular Web server on the Internet because it is free, reliable, and extensible. The availability of the source code and the modular design of Apache makes it possible to extend Web......一起来看看 《Writing Apache Modules with Perl and C》 这本书的介绍吧!