habil/microservice-remote-models

一个为分布式数据提供熟悉模型范式的Lumen包。

v0.6.2 2018-10-17 13:24 UTC

This package is auto-updated.

Last update: 2024-09-25 22:48:05 UTC


README

一个为分布式数据提供熟悉模型范式的Lumen包。

描述

此包提供了一个模型系统,类似于Eloquent,但关键关注点在于分布式数据。每个模型类都与一个具有预期RESTful API的远程微服务绑定。这允许开发者创建服务聚合器,通过模型操纵数据,就像数据在本地数据库中一样简单。

为了使此功能正常工作,该包对远程服务中的请求/响应数据持有一致的看法。这些数据应始终符合以下标准

https://github.com/LUSHDigital/microservice-core/blob/master/spec/swagger.yaml

此包旨在在Kubernetes集群中运行,其中服务发现由DNS名称处理。

关系

该包还通过使用gRPC处理远程模型之间的关系。除了为远程模型提供动力的微服务外,还预期将有一个gRPC应用程序来管理关系。此gRPC应用程序基于以下协议缓冲区

请参阅配置文档,了解DNS和端口的详细信息。

安装

按正常方式安装包

$ composer require lushdigital/microservice-remote-models

在bootstrap/app.php文件中将服务提供者注册到Lumen

$app->register(LushDigital\MicroServiceRemoteModels\RemoteModelServiceProvider::class);

该包要求在bootstrap/app.php中对Lumen配置进行以下更改

<?php

// Uncomment the line below to enable Facade support.
$app->withFacades();

// Uncomment the line below to enable Eloquent ORM support.
$app->withEloquent();

// Add the line below to load database config. This is required for caching to work.
$app->configure('database');

文档