xpx / laravel-micro-service
The micro service support for laravel
v1.0.2
2020-05-20 03:38 UTC
Requires
- ext-json: *
- hprose/hprose: ^2.0
- laravel/framework: ~5.5
This package is auto-updated.
Last update: 2025-02-20 14:19:42 UTC
README
该模块为 Laravel 提供微服务支持,实现服务中间件、熔断器、远程调用器、调度器等, 底层 RPC 使用 Hprose 实现,支持 HTTP 或 Socket 协议(推荐 HTTP), 客户端与服务端传输使用对称加密以保证数据安全
安装
拓展包尚未在 composer packagist 中发布,安装方式采用本地安装
- 请将拓展包克隆到项目的相近目录
git clone git@xxx
- 将拓展包的相对路径(或绝对路径)配置到项目的 composer.json 中
composer config repositories.laravel-micro-service path ../../../laravel-micro-service
安装拓展包
$ composer require gzoran/laravel-micro-service:dev-master
发布配置文件
以下命令将会把配置文件 microservice.php 发布到 config 目录
php artisan vendor:publish --provider="Gzoran\LaravelMicroService\LaravelMicroServiceProvider"
设置服务中心
只有设置服务中心之后,你的服务才能正确发布到服务中心,客户端才能正确的找到服务端节点
- 设置服务中心驱动默认使用配置项 default
··· 'service_center_driver' => [ // 默认使用 'default' => env('MICRO_SERVICE_SERVICE_CENTER_DRIVER_DEFAULT', 'local'), // 本地驱动 'local' => \Gzoran\LaravelMicroService\Clients\ServiceCenterDrivers\LocalServiceCenterDriver::class, // 远程驱动 'remote' => \Gzoran\LaravelMicroService\Clients\ServiceCenterDrivers\RemoteServiceCenterDriver::class, ], ···
- 当你使用 local 驱动时,则代表服务端节点列表将在你的配置文件中读取,请根据项目环境配置好服务端节点(server_nodes)配置项
··· 'server_nodes' => [ ··· // 开发环境 'local' => [ [ // 服务端名称 'server_name' => 'demo_server', // 节点列表 'nodes' => [ [ 'scheme' => 'http', // 协议 'host' => 'www.demo.com', // 主机地址 'port' => 80, // 端口 'path' => 'rpc/demo-server', // 路径 ], ], ], ], ··· ], ···
- 当你使用 remote 驱动时,则代表服务端节点列表将在服务中心获取,请根据环境配置好服务中心节点(service_center_nodes)配置项
··· 'service_center_nodes' => [ ··· // 开发环境 'local' => [ [ 'scheme' => 'http', // 协议 'host' => 'www.demo.com', // 主机地址 'port' => 80, // 端口 'path' => 'rpc/demo-server', // 路径 ], ], ··· ], ···
目录
License
MIT