7. 服务提供者/消费者
远程调用过程必然有服务提供者和消费者,比如订单服务器提供订单服务,用户服务器使用订单服务,其中订单服务器是提供者,用户服务器是消费者.反之亦然.
所以在RPC中没有绝对的消费者和提供者,任何服务都能同时兼备消费者和提供者两个身份,并且绝大多数时候如此
8. 通信模型
通信模型都有什么?
BIO 同步阻塞
NIO 同步非阻塞(Dubbo使用的Netty框架就是使用的这一种通信方式,而Netty 作为一款高性能的通信框架,广泛应用于游戏服务器和物联网服务器)
AIO 异步非阻塞
9.组件角色
Dubbo中的5大组件(角色)
Provider 提供者
Consumer 消费者
Registry 服务发现与注册中心
Monitor 监控中心
Container 服务运行容器
2. Dubbo 环境搭建1. 注册中心种类
Dubbo支持的注册中心有很多
Simple
redis
Nacos
Multicast
Zookeeper
其中Dubbo官方推荐使用 Zookeeper作为注册中心
2. 注册中心搭建
- 1. linux(生产环境)下的搭建[教学中跳过]
- 2. windows(开发环境)下的搭建
进入bin目录
运行zkServer.cmd
到这里我们的Zookeeper服务就启动了
启动bin目录下的zkCli.cmd
运行命令
获取根目录下的数据
get /
获取所有节点(我获取到了两个节点)
ls /
创建节点
create -e /shouwang 123456
ls /
到这里就搭建完成了,但是Zookeeper的功能远不止于此
我们只是用它作为注册中心
- 3. Zookeeper的文件结构
- 4. 控制台dubbo-admin(非必须)
你可以在GitHub上搜索Dubbo-ops
也可以使用我已经下载好的监控中心
我的已经解压到(E:/incubator-dubbo-ops-master)
进入dubbo-admin目录,会发现一个maven工程pom
- 以下是pom.xml里的内容
<projectxmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.alibaba</groupId>
<artifactId>dubbo-admin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>dubbo-admin</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath/><!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>velocity-spring-boot-starter</artifactId>
<version>0.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
推荐阅读
- Dubbo框架的一些很好用的点,80%程序员还不知道
- C 语言和 C++、C# 的区别在什么地方?
- 20万元罐天价茶惊现西安
- 如何煮安化黑茶好喝,安化黑茶是煮还是泡
- 花洒关了为什么会滴一些水,花洒关了还滴水解决小妙招
- 空调一会漏水一会不漏水是什么原因,空调一会漏水一会不漏是什么情况
- 太阳能热水器怎么上水,太阳能热水器什么时候上水好
- 空调管路杀菌怎么操作,空调管路杀菌多久一次
- 面霜|什么面霜抗衰老紧致效果好
- 客厅挂灰色的窗帘好吗,客厅适合什么材质的窗帘