ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php实战kong做微服务架构一(kong简介与安装)

2021-02-20 21:00:44  阅读:372  来源: 互联网

标签:做微 PostgreSQL 数据库 kong API pg 服务 php


php实战kong做微服务架构一(kong简介与安装)

序言

在一些分布式系统中,我们会在内部服务之前加一道屏障来保护我们的内部系统,并且可以统一管理内部服务。帮助开发者或用户更便捷的使用服务,不用考虑安全、流量等问题。

关于安全、限流、黑白名单等问题,我们统一在网关层对进行处理,内部服务只需关注业务实现。

在实际应用中,我们希望请求的API,网关对它们有统一的管理维护等功能,这样可以更好的管理项目。以后有新的服务只需在网关统一注册,就可以支持既有的安全、限流、黑白名单等功能。岂不美哉~~~

在当下已经有了众多优秀的项目帮助我们完成这一需求,例如kong,本文关于如何安装kong做了详细说明。

作业环境

Linux version 3.10.0-957.21.3.el7.x86_64

kong介绍

API网关项目,基于NGINX和Apache Cassandra或PostgreSQL构建的,提供RESTful接口,用于管理和配置服务,路由,插件和使用者。

允许开发者管理服务和API的整个生命周期,以及所有服务中代理组织的信息。
最重要的是,它使用户能够简化跨混合云和多云部署的API和微服务的管理。

在这里插入图片描述

使用kong的优势

分散应用程序或服务并过渡到微服务
打造完善的API开发人员生态系统
主动识别与API相关的异常和威胁
保护和管理API 或服务,并改善整个组织的API可见性

安装

kong安装

yum install -y https://kong.bintray.com/kong-community-edition-rpm/centos/7/kong-community-edition-0.13.1.el7.noarch.rpm

PostgreSQL安装

下载安装
yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm
yum install postgresql95 postgresql95-server

配置

PostgreSQL相关设置

初始化PostgreSQL数据库并启用自动启动
/usr/pgsql-9.5/bin/postgresql95-setup initdb
systemctl enable postgresql-9.5
systemctl start postgresql-9.5

切换到PostgreSQL用户并启动PostgreSQL
$ sudo -i -u postgres
$ psql

创建一个账号密码为kong的用户
$ psql>create user kong with password 'kong';

创建一个kong 数据库
$ psql>create database kong owner kong;

在IPv4下,本地连接替换ident为md5或者trust,允许kong用户在本地与数据库通信
	修改/var/lib/pgsql/9.5/data/pg_hba.conf 
	把这个配置文件中的认证 METHOD的ident修改为trust或者md5

kong配置

配置文件位置: /etc/kong/kong.conf.default
	cp /etc/kong/kong.conf.default /etc/kong/kong.conf
	vi  /etc/kong/kong.conf 修改以下内容
		pg_host = 127.0.0.1 #数据库主机地址
		pg_port = 5432 		#数据库端口
		pg_user = kong 		#数据库登录用户名
		pg_password = kong 	#数据库登录密码
		pg_database = kong 	#数据库名
	
配置文件位置: /usr/local/share/lua/5.1/kong/templates/kong_defaults.lua
	修改以下内容
		pg_password = kong  #修改为自己的数据库密码

kong测试

初始化数据库

在这里插入图片描述

服务开启

在这里插入图片描述

curl测试

在这里插入图片描述

kong图形化管理

安装遇到的问题以及解决方法

用户 “kong” Ident 认证失败(作者忘记修改身份验证了…)

Error: [postgres error] could not retrieve current migrations: [postgres error] FATAL: Ident authentication failed for user "kong"

 Run with --v (verbose) or --vv (debug) for more details

解决方法:

修改/var/lib/pgsql/9.5/data/pg_hba.conf 
把这个配置文件中的认证 METHOD的ident修改为trust或者md5

标签:做微,PostgreSQL,数据库,kong,API,pg,服务,php
来源: https://blog.csdn.net/weixin_45111820/article/details/113887446

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有