热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

原docker(22):使用docker搭建网关,MashapeAPI网关Kong,安装dashboard,和pgadmin4

【其他docker相关分类】:https:blog.csdn.netfreewebsysarticlecategory3103827本文的原文连接是:http:bl

【其他docker相关分类】:
https://blog.csdn.net/freewebsys/article/category/3103827

本文的原文连接是:
http://blog.csdn.net/freewebsys/article/details/71261179

1,关于Kong


https://www.oschina.net/p/PostgreSQL
https://github.com/Kong/kong

Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong 有两个主要组件:

Kong Server :基于 nginx 的服务器,用来接收 API 请求。

Apache Cassandra 或者 postgres 存储:用来存储操作数据。

你可以通过增加更多 Kong Server 机器对 Kong 服务进行水平扩展,通过前置的负载均衡器向这些机器分发请求。根据文档描述,两个Cassandra节点就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当增加更多节点。

对于开源社区来说,Kong 中最诱人的一个特性是可以通过插件扩展已有功能,这些插件在 API 请求响应循环的生命周期中被执行。插件使用 Lua 编写,而且 Kong 还有如下几个基础功能:HTTP 基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API 请求限流、请求转发以及 nginx 监控。

Kong包可运行在某些 Linux 发行版、Mac OS X 和 Docker 中,无论是本地机还是云端服务器皆可运行。

docker 地址:

依赖PostgreSQL:
/postgres”>https://hub.docker.com//postgres
启动Kong:
/kong”>https://hub.docker.com//kong
dashboard:
https://hub.docker.com/r/pgbi/kong-dashboard
一个第三方的gui界面,很好用。
postgree gui的web界面
https://hub.docker.com/r/dpage/pgadmin4

kong的文档:
https://getkong.org/docs/

2,使用docker 启动


研究了下,看了官方的文档,有几个参数没有写对。
修改了下可以启动了。

# 启动数据库设置用户名密码:
docker run -d --name kong-database \
                -p 5432:5432 \                 -e "POSTGRES_USER=kong" \                 -e "POSTGRES_DB=kong" \                 postgres:9-alpine

#使用kong 命令初始化数据库
docker run --rm \
    --link kong-database:kong-database \     -e "KONG_DATABASE=postgres" \     -e "KONG_PG_HOST=kong" \     -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \     kong kong migrations up

#启动 kong,链接database上,设置kong-database ,不能启动插件。
docker run -d --name kong \
    --link kong-database:kong-database \     -e "KONG_DATABASE=postgres" \     -e "KONG_PG_HOST=kong-database" \     -e "KONG_LOG_LEVEL=info" \     -e "KONG_ADMIN_LISTEN=0.0.0.0:8001" \     -e "KONG_ADMIN_LISTEN_SSL=0.0.0.0:8444" \     -p 8000:8000 \     -p 8443:8443 \     -p 8001:8001 \     -p 8444:8444 \     kong

#使用一个免费的dashboard系统镜像启动 配置账号 admin 密码 kong
docker run --rm --link kong:kong -p 8080:8080 pgbi/kong-dashboard start \
  --kong-url http://kong:8001 \   --basic-auth admin=kong

3,启动界面


http://localhost:8080
账号 admin 密码 kong

一共有apis consumers plugins snis certificates upstreams几个模块
都很方便。

kong api 服务器是 8001 一些配置

一共启动镜像:
这里写图片描述

都启动起来了就没有问题了。

4,启动postgre admin 4


https://hub.docker.com/r/dpage/pgadmin4
镜像地址:
使用link启动docker:

docker run --rm -p 8009:80 \
--link kong-database:kong-database \ -e "PGADMIN_DEFAULT_EMAIL=pgadmin4@pgadmin4.com" \ -e "PGADMIN_DEFAULT_PASSWORD=pgadmin4" \ -d dpage/pgadmin4

设置链接的url地址:

在 tables 下面查看:

查看sql tables:

这里写图片描述

\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

也可以使用命令行登录 pg。

5,总结


使用docker还是非常的方便的。
构建了一个api的网关,kong是一个nginx + lua 开发的api网关。
对于越来越快速互联网开发,实时的上线东西,更新接口,做代理还是非常方便的。
具体的功能使用还没有来的及看。
应该挺方便的。
https://getkong.org/docs/
在最外端做反向代理使用web ui 界面进行配置下,到是挺方便的。

本文的原文连接是:
http://blog.csdn.net/freewebsys/article/details/71261179


推荐阅读
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • Nginx不仅是一款轻量级的高性能Web服务器,还具备出色的负载均衡和反向代理功能。它支持复杂的正则匹配规则、动静内容分离以及灵活的URL重写功能,使得配置和管理更加便捷高效。此外,Nginx提供了多种负载均衡算法,如轮询、加权轮询、最少连接数等,以满足不同应用场景的需求。 ... [详细]
author-avatar
少少_LV
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有