• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

php实战kong做微服务架构三(注册服务)

互联网 diligentman 2周前 (02-22) 7次浏览

php实战kong做微服务架构三(注册服务)

  • 序言
  • 源代码
  • 运行注册程序的结果
  • 查看所有注册信息
    • dashboard查看
  • 查看刚刚注册的服务信息
  • 访问服务
  • 过程中遇到的问题与解决方法

序言

本节将使用php实现服务注册,简单梳理下流程:

  1. 事先开启kong
  2. php使用curl请求kong给管理员预设的指定地址与端口
  3. 传入指定参数,注册服务

源代码

<?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;
}

运行注册程序的结果

php实战kong做微服务架构三(注册服务)

查看所有注册信息

php实战kong做微服务架构三(注册服务)

dashboard查看

php实战kong做微服务架构三(注册服务)

查看刚刚注册的服务信息

php实战kong做微服务架构三(注册服务)

访问服务

请求
http://hz12.cn:8000/goods3.html
或
http://hz12.cn:8000/goods3

php实战kong做微服务架构三(注册服务)

过程中遇到的问题与解决方法

外部请求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

查看监听的端口对应地址,现在可以正常访问了
php实战kong做微服务架构三(注册服务)


程序员灯塔
转载请注明原文链接:php实战kong做微服务架构三(注册服务)
喜欢 (0)