php實戰kong做微服務架構三(注冊服務)
- 序言
- 源代碼
- 運行注冊程式的結果
- 查看所有注冊資訊
- dashboard查看
- 查看剛剛注冊的服務資訊
- 訪問服務
- 程序中遇到的問題與解決方法
序言
本節將使用php實作服務注冊,簡單梳理下流程:
- 事先開啟kong
- php使用curl請求kong給管理員預設的指定地址與埠
- 傳入指定引數,注冊服務
源代碼
<?php
/**
* 注冊服務
* @author: 飄逸的羅伯特
*/
/*
$api_data = [
'name' => 'goods1',
'uris' => '/goods1.html',
'methods' => 'POST',
'upstream_url' => 'http://hz12.cn/goods'
];
*/
$api_data = [
'name' => 'goods3', //服務名稱
'uris' => '/goods3.html', //URI前綴串列,例如:/my-path
'methods' => 'GET', //HTTP方法串列,例如:GET,POST
'upstream_url' => 'http://hz12.cn/goods' //指向您的API服務器的基本目標URL
];
var_dump(http_request('http://hz12.cn:8001/apis', $api_data));
/**
* 發送post請求
* @param [string] $url 請求地址
* @param [array] $postdata post引數
* @return [string] 注冊資訊
*/
function http_request($url, $postdata=[]){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
$data = curl_exec($curl);
curl_close($curl);
return $data;
}
運行注冊程式的結果

查看所有注冊資訊

dashboard查看

查看剛剛注冊的服務資訊

訪問服務
請求
http://hz12.cn:8000/goods3.html
或
http://hz12.cn:8000/goods3

程序中遇到的問題與解決方法
外部請求8001與8000埠失敗
kong默認監聽127.0.0.1,所以默認可以在本地玩
解決方法:服務器看情況開啟這兩個埠,比如我要演示,得開啟,寫完文章就關掉~~~
修改組態檔:vi /etc/kong/kong.conf
proxy_listen = 0.0.0.0:8000, 0.0.0.0:8443 ssl
admin_listen = 0.0.0.0:8001, 0.0.0.0:8444 ssl
重啟:kong restart -c /etc/kong/kong.conf
查看監聽的埠對應地址,現在可以正常訪問了

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/262055.html
標籤:其他
