摘要:我们需要将业务或服务放置在网关背后,由网关统一处理请求入口,本身由多个入口的处理变成了一个入口,由网关进行统一调度。网关负责来搞这些事情,你只需要知道网关就好了。
构建完成 API 服务,配置中心之后,架构图大致如下:
我们为何需要网关引用 别人 的一句话:
我们总是听到编排这个词,所以我喜欢这张幻灯片 – 它展示了一个乐队,然后有个指挥家,下面一堆人(微型服务)演奏自己的乐器。这个指挥家(API网关)可以以某种方式来协调我们的架构如何处理请求。
我们需要将业务或服务放置在网关背后,由网关统一处理请求入口,本身由多个入口的处理变成了一个入口,由网关进行统一调度。
有一个很nice的事情,就是API网关让我们的客户端不用再需要知道和关心模块的地址(address)了。网关负责来搞这些事情,你只需要知道网关就好了。你可以去改变实现而且还可以改变API接口。不过通常来说,你改变接口后,会增加客户端出问题的风险。
还有很多有趣的功能,有兴趣的朋友可以参考:
微服务与API 网关(上): 为什么需要API网关?
微服务与API 网关(下): Kong能为我们做什么?
构建由于本人使用 ubuntu 虚拟机,所以此处只介绍 ubuntu 下的安装,其他安装方式可参考: kong installation
sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get install postgresql-9.6
安装 postgresql 完成后,初始化数据库:
su postgres psql CREATE USER kong; CREATE DATABASE kong OWNER kong;
ctrl + D 退出
$ sudo apt-get update $ sudo apt-get install openssl libpcre3 procps perl $ sudo dpkg -i kong-0.10.3.*.deb
$ kong start # Kong is running $ curl 127.0.0.1:8001
这个过程可能会出现: [postgres error] FATAL: password authentication failed for user "kong"
查看 pgsql 配置文件所在位置,因为我是 apt-get install 的,因此,存储位置在 /etc/postgresql/9.6/
修改 /etc/postgresql/9.6/main/pg_hba.conf 文件,找到IPv4 配置项,约92行,修改
host all all 127.0.0.1/32 md5 => host all all 127.0.0.1/32 trust
重新启动即可。
$ sudo kong start整合 FastD API
curl -i -X POST http://127.0.0.1:8001/apis/ --data "name=example-fastd" --data "hosts=fastd.com" --data "upstream_url=http://127.0.0.1:9527"
添加 API Server 到网关,成果会返回 201 状态吗表示创建成功 (Created)
获取列表: http://127.0.0.1:8001/apis/
发起请求.
curl -i -X GET --url http://127.0.0.1:8000/ --header "Host: fastd.com"
此时此刻你会发现已经成功使用 kong 对其进行代理,至此之外,已经完成了基本的网关接入。最终架构图如下:
插件kong 提供的插件非常丰富,因为也是基于 lua 的,因此你可以使用 openresty 对其进行扩展,开发更加贴近业务的应用。
插件文档: 点击
更多可看 kong 官方文档。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/25657.html
摘要:的展示非常炫酷,绝对是运维提升逼格的一大利器。另外的可视化功能比强得多,而且以上版本将集成报警功能。它由写成,着力于高性能地查询与存储时序型数据。被广泛应用于存储系统的监控数据,行业的实时数据等场景。 原有监控系统 showImg(https://segmentfault.com/img/remote/1460000011082384); 整个系统以 Graphite (carbon ...
摘要:最佳实践一构建是一个专门针对应用层而生的一个应用框架,提供良好的中间件,路由以及支持扩展运行,从而具体良好的性能条件。手动创建添加路由地址调用完成最第一个路由。缓存也是一个前置中间件,使用方式与日常操作保持一致。 FastD 最佳实践一: 构建 API FastD 是一个专门针对 API 应用层而生的一个 PHP 应用框架,提供良好的中间件,路由以及支持 swoole 扩展运行,从而具...
摘要:点击前往中文地址先决条件简单安装下载地址下载或者其他都可以。版本处理方案新建格式日志文件。配置日志会随着配置进行生成,结果如下忽略上述日志内容,程序看得懂即可配置推送到需要根据业务场景进行配置,现在显示最简单的配置。 过去咱们开发中,对日志这个环节其实并不太重视,直到有一天,应用出现异常,这个时候才想起来日志,但很可惜,为时已晚。 咱们做运维和开发,除了救火,还需要防火,因此一些防范的...
摘要:过去专门做了一篇文档来构建配置中心,基于的配置中心。环境要求及构建步骤可参考搭建配置中心随着业务增长,部署的机器可能会随着增长,增加配置难度和维护难度。最终架构图如下无论扩展多少个业务应用,仅需要一个配置中心即可完成多处配置修改。 过去专门做了一篇文档来构建配置中心,基于 zookeeper 的配置中心。 环境要求及构建步骤可参考: QConf搭建配置中心 随着业务增长,部署的机器可能...
摘要:调整配置文件在选项中,追加即可。有了以上系统常规监控日志集中分析应用调用链监控,我们的业务就可以变得更加透明,清晰,可控。相关文章最佳实践四构建系统可视化监控最佳实践五构建日志分析 zipkin是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。它的理论模型来自于Google Dappe...
阅读 1370·2021-10-14 09:43
阅读 962·2021-09-10 10:51
阅读 1394·2021-09-01 10:42
阅读 2163·2019-08-30 15:55
阅读 552·2019-08-30 15:55
阅读 2310·2019-08-30 14:21
阅读 1667·2019-08-30 13:04
阅读 3440·2019-08-29 13:09