Dubbo简介
一、简介:
1. 什么是RPC:
RPC【Remote Procedure Call】是指远程调用过程,是一种进程间通信方式,它是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常在共享网络的另一台服务器上)的过程或函数,而不是程序员显示编码这个远程调用的细节。即程序员无论是调用本地还是远程的函数,本质上编写的调用代码基本相同。
RPC有两个核心:通讯、序列化。
RPC框架有很多:dubbo、gRPC、Thrift、HSF(High Seep Service Framework)
2. dubbo简介:
Apache Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口和远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。doubbo前身是阿里,在2018/2/15将Dubbo开源贡献给了Apache;
3. dubbo特点:
》1.面向接口代理的高性能RPC调用:
提供高性能的基于代理的远程调用能力,服务以接口为粒度,为开发者屏蔽远程调用底层细节。
》2.服务自动注册与发现:
支持多种注册中心服务,服务实例上下线实时感知。
》3.智能负载均衡:
内置多种负载均衡策略,智能感知下游节点健康状况,显著减少调用延迟,提高系统吞吐量。
》4.高度可扩展能力:
遵循微内核+插件的设计原则,所有核心能力如Protocol、Transport、Serialization被设计为扩展点,平等对待内置实现和第三方实现。
》5.运行期流量调度:
内置条件、脚本等路由策略,通过配置不同的路由规则,轻松实现灰度发布,同机房优先等功能。
》6.可视化的服务治理与运维:
提供丰富服务治理、运维工具:随时查询服务元数据、服务健康状态及调用统计,实时下发路由策略、调整配置参数。
二、环境搭建:
1. 搭建注册中心:推荐使用 Zookeeper 注册中心
2. 搭建管理控制台:
3. 创建生产者消费者工程:
三、应用场景:
1. 在实际的项目开发之中,可以利用RPC实现业务中心的快速搭建,在整个业务中心中只提供有业务层与数据层的开发实现,并且不进行任何的信息展示处理:
2. 如果现在的项目是一个小项目,没有过多的用户访问,这种情况下为了节省资源,会将业务层直接定义在web端,这样的话web端除了要进行用户请求回应处理外,还需要进行业务处理操作