PHPackages                             brown-rpc/brown-rpc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. brown-rpc/brown-rpc

ActiveLibrary

brown-rpc/brown-rpc
===================

rpc

v5.0.0(2y ago)343.1k↓24.5%Apache-2.0PHPPHP &gt;=8.0.2

Since Dec 1Pushed 1y ago1 watchersCompare

[ Source](https://github.com/brownsweet/brown-rpc)[ Packagist](https://packagist.org/packages/brown-rpc/brown-rpc)[ RSS](/packages/brown-rpc-brown-rpc/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (12)Versions (18)Used By (0)

简介
--

[](#简介)

brown-rpc 是一款基于swoole的rpc拓展，可以通过composer安装，可在多个主流php框架中使用（laravel,thinkphp）。提供了链路追踪，服务注册发现，自定义命令行等功能。

功能
--

[](#功能)

- ### 支持swoole协程

    [](#支持swoole协程)
- ### 支持按类访问

    [](#支持按类访问)
- ### 支持服务注册与发现，默认提供consul为注册中心

    [](#支持服务注册与发现默认提供consul为注册中心)
- ### 支持链路追踪

    [](#支持链路追踪)
- ### 支持命令行启动

    [](#支持命令行启动)
- #### 服务既可以继续支持http访问，也可以当做rpc服务端使用

    [](#服务既可以继续支持http访问也可以当做rpc服务端使用)

特点
--

[](#特点)

- ### 遵循`composer psr-4`规则

    [](#遵循composer-psr-4规则)
- ### 适配多个框架

    [](#适配多个框架)
- ### 配置简单

    [](#配置简单)
- ### 客户端调用简单

    [](#客户端调用简单)
- ### 内置注册中心

    [](#内置注册中心)
- ### 内置链路追踪

    [](#内置链路追踪)
- 内置TCP/HTTP调用

安装
--

[](#安装)

composer拓展地址：

```
composer require brown-rpc/brown-rpc 选择版本

```

目录结构
----

[](#目录结构)

在`vendor`目录下生成如下目录

```
/
├── brown-rpc    					项目目录
│	├── brown-rpc
│	│	├──src
│	│	│	├──client
│	│	│	├──command
│	│	│	├──config
│	│	│	├──exceptions
│	│	│	├──middlewares
│	│	│	├──pack
│	│	│	├──register
│	│	│	├──request
│	│	│	├──response
│	│	│	├──sendfile
│	│	│	├──server
│	│	│	├──tracer
│	│	│	├──helper.php
│	│	│	├──LogicService.php
│	│	│	├──Manger.php
│	│	│	├──RpcClient.php
└──	└──	└──	└──RpcClient.php

```

使用
--

[](#使用)

### 1、RPC的使用

[](#1rpc的使用)

#### 1、启动

[](#1启动)

·1、进入到拓展目录中：

```
#安装成功后
#进入到brown-rpc拓展目录中 注意目录层级！在有`composer.json`的目录中

cd vendor/brown-rpc/brown-rpc/
```

2、执行命令compsoer脚本

```
composer run-script post-package-install
```

3、执行命令以后会在项目根目录中生成 `brown`文件，执行 `php brown` 命令：

```
php brown

```

会看到如下命令：

```
Console Tool

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display help for the given command. When no command is given display help for the list command
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi|--no-ansi  Force (or disable --no-ansi) ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  completion  Dump the shell completion script
  help        Display help for a command
  list        List commands
 rpc
  rpc:run     启动swoole服务  #启动命令
```

4、执行` php brown rpc:run` 启动服务

```
php brown rpc:run

```

会看到以下文字

```
/www/tp6-rpc/tp6-rpc-test/blog # php brown rpc:run
服务开启[2021-12-28T15:51:15.009155+08:00] brown.INFO: 启动 [] []
[2021-12-28T15:51:15.034100+08:00] brown.INFO: 服务已经注册中心 [] []
```

#### 2、配置文件

[](#2配置文件)

在启动之前，按需配置好配置文件。

配置文件为`根目录/config/brown.php`

配置文件如下：

```
