这么多的服务,我的用户该怎么来访问
这么多的服务,我的服务和服务之间该怎么进行通讯
这么多服务我该怎么管理
有服务挂掉了,怎么处理
什么是RPC
RPC过程
技术难点
什么是Dubbo
工作流程
安装Zookeeper
安装Dubbo-admin,这个是Dubbo的监控程序,通过他,我们可以直观的看到我们部署了那些服务
注意要下载master分支下的,默认使develop分支。同时下载下来的Maven项目需要打包
启动界面,默认端口在7001,默认账号密码root-root
导入依赖
<!-- Dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.8</version>
</dependency>
<!-- zookeeper -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.6.2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
编写服务类
接口
public interface SellService {
String sell();
}
实现类
@DubboService
@Service
public class SellServiceImpl implements SellService {
@Override
public String sell() {
return "我买了Lamborghini";
}
}
配置文件
dubbo:
application:
name: 出售服务
registry:
address: zookeeper://127.0.0.1:2181
scan:
base-packages: com.pbx.service
server:
port: 9000
导入依赖
<!-- Dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.8</version>
</dependency>
<!-- zookeeper -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.6.2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
Service实现类
@Service
public class BuyServiceImpl implements BuyService {
@Override
public void buy() {
}
}
配置Dubbo
dubbo:
application:
name: 购买服务
registry:
address: zookeeper://127.0.0.1:2181
server:
port: 9001
测试,进行测试的时候要同时开启两个SpringBoot项目和Zookeeper
@Autowired
BuyService buyService;
@Test
void contextLoads() throws InterruptedException {
while (true) {
buyService.buy();
Thread.sleep(3000);
}
}
同时在Dubbo-admin中也可以看见
原文:https://www.cnblogs.com/primabrucexu/p/14354514.html