thinkphp使用consul

这篇具有很好参考价值的文章主要介绍了thinkphp使用consul。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

service层

<?php
namespace app\service;

use http\Client;
use think\facade\Config;

class Consul
{
    private $httpUrl;
    public $client;
    public function __construct()
    {
        $consulConfig = Config::get('common.consul');
        $this->httpUrl = $consulConfig['host'].":".$consulConfig['port'];
        $this->client = new \GuzzleHttp\Client();
    }

    //服务注册
    public function registerService($data)
    {
        $url = $this->httpUrl.'/v1/agent/service/register';
        echo $url;
        $response = $this->client->put($url,[
           'json'=>$data
        ]);
        // 获取响应状态码
        $statusCode = $response->getStatusCode();
        // 获取响应内容
        $body = $response->getBody()->getContents();
        return $response;
    }

    //服务信息
    public function InfoService($serviceID)
    {
        $url = $this->httpUrl."/v1/health/service/".$serviceID;
        var_dump($url);
        $response = $this->client->get($url);
        return $response;
    }

    //服务配置
    public function configService($key)
    {
//        $url = $this->httpUrl.'/v1/kv/'.$key;
//        echo $url;
//        return $this->client->get($url);
        $url = $this->httpUrl . '/v1/kv/' . $key;

        $response= $this->client->get($url);
        return $response;

    }

}

controller层文章来源地址https://www.toymoban.com/news/detail-651443.html

<?php
namespace app\controller;

use app\BaseController;

class Consul extends BaseController
{
    private $serviceID = 'rxService';

    public function register()
    {
        $data = [
            'ID' => $this->serviceID,
            'Name' => 'rxservice',
            'Tags' => ['Core.rx'],
            'Port' => 8087,
            'Check' => [
                'HTTP' => 'http://127.0.0.1:8081',
                'Interval'=> '5s'
            ]
         ];
        $consul = new \app\service\Consul();
        $result =  $consul->registerService($data);
    }

    public function info()
    {
        $consul = new \app\service\Consul();
        $result = $consul->InfoService($this->serviceID);
        $body = $result->getBody()->getContents();
        var_dump($body);
    }
    public function config()
    {
        $consul = new \app\service\Consul();
        $result = $consul->configService($this->serviceID.'/dev/db1');

        $body = $result->getBody()->getContents();
        var_dump($body);
    }
}
# common/config.php
<?php
return [
    'consul' =>[
        'host' => "http://127.0.0.1",
        "port"=> 8500
    ]
];

到了这里,关于thinkphp使用consul的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [golang 微服务] 5. 微服务服务发现介绍,安装以及consul的使用,Consul集群

    上一节讲解了使用 gRPC创建微服务,客户端的一个接口可能需要调用 N个服务 ,而不同服务可能存在 不同的服务器 ,这时,客户端就必须知道所有服务的 网络位置(ip+port) ,来进行连接服务器操作,如下图所示: 以往的做法是把 服务的地址 放在 配置文件 或者 数据库 中,这样就

    2024年02月08日
    浏览(47)
  • Swoft中使用Consul微服务

    目录 Swoft中接入Consul Swoft服务限流 Swoft服务熔断和降级 在之前我写的一篇内容:PHP中接入consul,实现微服务的注册发现和配置中心_浮尘笔记的博客-CSDN博客 中,使用ThinkPHP6.0框架接入了微服务Consul,并且留下了一个彩蛋 “将在 swoft 框架中介入consul,实现更多微服务的功能

    2024年02月07日
    浏览(26)
  • 一个好用快捷的前端请求代理chrome插件-ReRes

    简介 前端日常开发过程中,本地调试阶段总会有对远程接口的调用需求,通常可能会有以下途径: 本地nginx进行反向代理 使用http-proxy 修改host文件 后端配合开启跨域 但这些方法都会略显繁琐,有时候我的需求可能只是想代理某一个请求,而非所有请求,这时候可以使用一个

    2024年02月09日
    浏览(77)
  • 如何查看 Chrome 网站有没有前端 JavaScript 报错?

    您可以按照以下步骤在Chrome中查看网站是否存在前端JavaScript报错: 首先,打开Chrome浏览器并访问您想要检查JavaScript报错的网站。 在Chrome浏览器中,按下\\\"Ctrl+Shift+I\\\"(在Windows和Linux上)或\\\"Cmd+Option+I\\\"(在macOS上)快捷键,打开开发者工具。 在开发者工具窗口中,点击位于顶部

    2024年02月15日
    浏览(32)
  • Chrome 基于 Wappalyzer 查看网站所用的前端技术栈

    1. 找到谷歌商店 https://chrome.google.com/webstore/search/wappalyzer?utm_source=ext_app_menu 2. 搜索 Wappalyzer 3. 添加至Chrome 4. 使用 插件 比如打开 https://www.bilibili.com/ 就可以看到其所以用的前端技术栈了

    2024年02月08日
    浏览(29)
  • 16个最佳Chrome插件推荐给做前端的你

    作为Web开发人员每天的工作就是不断地开发、测试、优化,涉及到语言、布局、字体、样式等技术。整个开发过程离不开浏览器。浏览器插件就像是浏览器的“装备”,可以增加浏览器额外的特性和功能。针对开发人员的日常工作,有些浏览器插件非常实用、高效,有助于开

    2024年02月06日
    浏览(26)
  • 前端笔记 ---- Chrome 浏览器不能跨域访问解决方案

    1. 需求场景 Chrome 浏览器开发 H5 进行接口联调时,浏览器不允许跨域访问; 想通过浏览器设置,不使用代理等,浏览器可以进行跨域访问。 2. 报错图片 3. 解决方案 3.1 获取Chrome 浏览器安装位置 3.2 设置允许跨域和不验证证书 3.3 cmd 执行设置命令 3.4 组成完整命令 3.5 cmd 运行命

    2024年02月15日
    浏览(33)
  • thinkphp6/8+微信小程序 - 详解点击拍照或上传图片到服务器功能,tp+微信小程序+php技术进行前端上传图像到服务端全过程效果,基于thinkphp和小程序进行拍摄上传图像教程(详细源代码

    在thinkphp6、thinkphp8和微信小程序前后端下,实现小程序拍照片上传到tp后端服务器,小程序前端上传图像到php服务端详细教程,支持多图批量上传、上传校验大小、图片类型、自定义上传目录、自定义命名等功能,可改造成上传到阿里云oss、七牛云等平台。 提供前端、后端完

    2024年04月24日
    浏览(45)
  • 在Ubuntu 14.04上使用Consul服务发现系统的介绍

    简介 Consul 是一个分布式、高可用、数据中心感知的服务发现和配置系统。它可以用来呈现服务和节点,提供灵活和强大的接口,使客户端始终能够获取其所属基础设施的最新视图。 Consul 提供了许多不同的功能,用于提供关于基础设施的一致和可用信息。这包括服务和节点发

    2024年02月19日
    浏览(29)
  • 使用phpstorm开发调试thinkphp

    1.环境准备 1.开发工具下载:PhpStorm: PHP IDE and Code Editor from JetBrains 2.PHP下载:PHP: Downloads 3. PHP扩展:PECL :: Package search 4.用与调试的xdebug模块: Xdebug: Downloads           xdebug模块,如果是php8以下版本,需要用2版本的xdebug,如果是php8以上的版本,则用3版本的xdebug 2.windows下操作

    2024年02月13日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包