midoks / php-eureka-client

Netflix Eureka 服务器客户端

1.0 2019-09-21 09:38 UTC

This package is auto-updated.

Last update: 2024-09-21 21:09:30 UTC


README

Build Status

PHP Eureka 客户端

PHP 客户端,用于 Netflix Eureka 服务器。支持所有 Eureka REST 操作

安装

运行

composer require midoks/php-eureka-client

或者将依赖添加到你的 composer.json 文件中

"require": {
    ...
    "midoks/php-eureka-client": "^1.0"
}

使用示例

1. 使用所需的包

use Eureka\Client;

2. 创建 Eureka 应用实例

// We will use app name and instance id for making requests below.
$client = new \Euraka\Client($this->host, $this->port, $this->context);

3. 创建 Eureka 客户端

// Create eureka v2 client.
$client = new EurekaClient('localhost', 8080);

// Create eureka v1 client.
$client = new EurekaClient('localhost', 8080, 'eureka');

4. 发送请求

try {
  // Register new application instance.
  $response = $client->registerApp($appName, $instance);

  // Query for all instances.
  $allApps = $client->getAllApps();

  // Query for all application instances.
  $app = $client->getApp($appName);

  // Query for a specific application instance.
  $appInstance = $client->getAppInstance($appName, $instanceId);

  // Query for a specific instance.
  $instance = $client->getInstance($instanceId);

  // Send application instance heartbeat.
  $response = $client->heartBeat($appName, $instanceId);

  // Take instance out of service.
  $response = $client->takeInstanceOut($appName, $instanceId);

  // Put instance back into service.
  $response = $client->putInstanceBack($appName, $instanceId);

  // Update metadata.
  $response = $client->updateAppInstanceMetadata($appName, $instanceId, [
    'new_key' => 'new_value',
  ]);

  // Query for all instances under a particular vip address/
  $instances = $client->getInstancesByVipAddress('test_vip_address');

  // Query for all instances under a particular secure vip address.
  $instances = $client->getInstancesBySecureVipAddress('test_secure_vip_address');

  // De-register application instance.
  $response = $client->deRegisterApp($appName, $instanceId);
}
catch (Exception $e) {
  echo $e->getMessage() . PHP_EOL;
}