dubbo-php-framework介绍

dubbo-php-framework(https://github.com/dubbo/dubbo-php-framework)是由深圳乐信(http://www.lexinfintech.com)公司开源的用于php语言的RPC通讯框架,与dubbo在协议上完全兼容,可同时作为provider端和consumer端,使用zookeeper用于服务注册发现,序列化使用fastjson,底层网络通信使用swoole实现,下图为其架构图:

其中组件简介如下:

1、php-consumer,rpc调用中的消费者。

2、php-provider,rpc调用中的生产者,服务提供者,因provider是用swoole实现,存在多个worker,1个master和1个manager进程角色。

3、provider_admin,provider的管理者,简单封装了provider的启动、停止、加载配置文件等动作。

4、registry,provider服务注册者,基于zookeeper实现服务的注册,所谓注册也就是在zookeeper实现节点的创建和地址更新。

5、agent,代理,用于监听registry,将新的节点变更同步更新到redis中。

6、redis,用于本地存储provider信息,防止在zookeeper出现问题时,还能为consumer提供provider地址信息,继续服务。

基于上述架构图,整体的流程简述如下:

1、首先通过provider_admin组件启动provider服务,这时provider服务会注册到registry(zookeeper)中,zookeeper将这次的变更通知到agent,agent拉取registry中的节点内容更新redis中的内容,这里完成了服务注册的过程,其他的服务下线等流程不做分析,后续在分析代码时再细聊。

2、consumer调用相应的provider时,通过本地redis检查provider服务地址信息,获取到信息后(主要是IP,PORT,服务名,接口名,版本号等信息),基于swoole通信完成相应的调用。

拉取代码后,代码整体架构如下图所示:

这里简述下各个目录的功能,细节后面篇章分析。

1、agent目录是由c语言实现的daemon程序,充当架构图的agent角色。

2、api目录实现了consumer侧的一些通用接口。

3、bin目录实现了provider_admin的功能,用于控制provider的启动停止等。

4、common目录实现一些通用功能,包括协议,文件操作工具等。

5、demo目录是框架提供的列子。

6、provider是框架实现的核心。

7、registry是用于服务注册相关的功能。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Dubbo-Admin 是 Dubbo 提供的一个可视化管理平台,用于监控和管理 Dubbo 服务。安装和部署 Dubbo-Admin 需要以下步骤: 1. 下载 Dubbo-Admin 的安装包,可以从 Dubbo 的官方 GitHub 仓库中获取。你可以访问 https://github.com/apache/dubbo-admin/releases 下载最新版本的安装包。 2. 解压下载的安装包到你选择的目录。你可以使用以下命令解压: ```shell unzip dubbo-admin-x.x.x.zip ``` 3. 进入解压后的目录,找到 `dubbo-admin-server` 目录。 4. 打开 `dubbo-admin-server` 目录下的 `src/main/resources/application.properties` 文件,修改其中的配置信息。 - 配置 Dubbo 注册中心的地址:`dubbo.registry.address=zookeeper://localhost:2181`,根据你实际的注册中心地址进行修改。 - 配置 Dubbo Admin 的访问端口:`server.port=8080`,根据你的需求进行修改。 5. 保存并关闭 `application.properties` 文件。 6. 在 `dubbo-admin-server` 目录下执行以下命令来构建 Dubbo-Admin: ```shell mvn clean package ``` 7. 构建完成后,进入 `target` 目录,执行以下命令来启动 Dubbo-Admin: ```shell java -jar dubbo-admin-x.x.x.jar ``` 8. 等待启动完成,访问 http://localhost:8080 即可进入 Dubbo-Admin 的管理界面。 请注意,安装和部署 Dubbo-Admin 需要满足以下依赖条件: - JDK 1.8 或以上版本 - Maven 3.x - ZooKeeper 3.x 或以上版本 希望以上步骤对你有帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值