微服务Kong(三)——添加一个API】的更多相关文章

在开始前,请确保您已经安装了KONG服务,并且已经启动了KONG服务. 在本节中,您可以学习到:如何在KONG层添加一个API.这是您使用KONG来管理您的API的第一步.对于此篇教程,我们将使用 http://www.baidu.com 来测试KONG. KONG在 8001 端口上提供了一个 RESTful 形式的管理API,用于管理您的Kong实例或群集的配置. 1. 通过管理员添加您的API: 通过以下cURL来添加您的第一个API(http://www.baidu.com): $ cu…
Kong侦听四个端口的请求,默认情况是: 8000:此端口是Kong用来监听来自客户端的HTTP请求的,并将此请求转发到您的上游服务.这也是本教程中最主要用到的端口. 8443:此端口是Kong监听HTTP的请求的端口.该端口具有与8000端口类似的行为,但是它只监听HTTPS的请求,并不会产生转发行为.可以通过配置文件来禁用此端口. 8001:用于管理员对KONG进行配置的端口. 8444:用于管理员监听HTTPS请求的端口. 在本文中,我们将介绍Kong的路由功能,并详细说明8000端口上的…
现在微服务.SOA.RESTful API设计等在各大公司很流行.微服务(micro services)这个概念不是新概念,很多公司已经在实践了,例如亚马逊.Google.FaceBook,Alibaba.微服务架构模式(Microservices Architecture Pattern)的目的是将大型的.复杂的.长期运行的应用程序构建为一组相互配合的服务,每个服务都可以很容易得局部改良. Micro这个词意味着每个服务都应该足够小,但是,这里的小不能用代码量来比较,而应该是从业务逻辑上比较—…
在本节中,我们将学习如何添加一个用户(consumer)到KONG实例中.用户是与使用您的API的个人相关联,可用于跟踪,访问管理等. NOTE:本节假设您已经正确启用了密钥验证插件.如果没有,请参考之前的步骤进行正确配置. 1. 创建一个用户: 通过以下命令,来创建一个模拟用户Jason: $ curl -i -X POST \ --url http://localhost:8001/consumers/ \ --data "username=Jason" 您应该看到类似于下面的回复…
在本节中,您将学习到,如何配置使用KONG的插件来管理您的API.KONG的核心原则之一就是通过插件来实现API的扩展.插件可以使您更为简单的扩展和管理您的API. 在以下的步骤中,您将通过配置key-auth插件为您的API添加一个认证的功能.在添加此插件之前,您的所有API都被将代理到上游头.添加并配置此插件后,只有具有正确API密钥的请求会被代理 - 所有其他请求将被KONG拒绝,从而保护您的上游服务免受未经授权的使用,从而实现权限认证功能. 1. 为您的API配置 key-auth 插件…
原文来自:聊聊架构公众号 前面的文章中有说到微服务的通信方式,Martin Folwer 先生在他对微服务的定义中也提到“每个服务运行在其独立的进程中,服务与服务间采用 轻量级的通信机制 互相协作(通常是基于 HTTP 协议的 RESTful API)”. 那么,在各个微服务之间具体怎么进行轻量级的通信呢?这篇文章就来聊聊微服务 API 开发及治理的几个方面. 首先需要解释一下,标题中的“内网环境中 的 API”指的是提供给内网里的其它微服务调用的 API.与其相对应的是“开放给互联网 用户调用…
说到现在现有微服务的几点不足: 1) 对于在微服务体系中.和 Consul 通讯的微服务来讲,使用服务名即可访问.但是对于手 机.web 端等外部访问者仍然需要和 N 多服务器交互,需要记忆他们的服务器地址.端 口号等.一旦内部发生修改,很麻烦,而且有时候内部服务器是不希望外界直接访问的. 2) 各个业务系统的人无法自由的维护自己负责的服务器: 3) 现有的微服务都是“我家大门常打开”,没有做权限校验.如果把权限校验代码写到每 个微服务上,那么开发工作量太大. 4) 很难做限流.收费等. oce…
KONG为请求多个后端服务提供了多种负载均衡方案:一种是简单的基于DNS,另一种是更加动态的环形均衡器,他在不需要DNS服务器的情况下也允许服务注册. 一.基于DNS的负载均衡 当使用基于DNS的负载平衡时,后端服务的注册是在Kong之外完成,而Kong只接收来自DNS服务器的更新.如果请求的API被解析为多个IP地址,则已使用包含主机名(而不是IP地址)的upstream_url定义的每个API将自动使用基于DNS的负载平衡,前提是主机名未被解析为upstream名称或你的localhosts…
客户端访问上游API服务,通常由Kong的认证插件及其配置参数来控制. 通用认证 一般情况下,上游API服务都需要客户端有身份认证,且不允许错误的认证或无认证的请求通过.认证插件可以实现这一需求.这些插件的通用方案/流程如下: 1.向一个API或全局添加AUTH插件(此插件不作用于consumers): 2.常见一个consumer对象: 3.为consumer提供指定的验证插件方案的身份验证凭据: 4.现在,只要有请求进入Kong,都将检查其提供的身份验证凭据(取决于auth类型),如果该请求…
Swagger 与 OpenAPI 的历史来源: Swagger 项目于 2015 年捐赠给 OpenAPI Initiative,此后被称为 OpenAPI.这两个名称可以互换使用.但是,"OpenAPI"指的是规范."Swagger"是指来自 SmartBear 的符合 OpenAPI 规范的开源和商业产品系列. 简而言之: OpenAPI 是一种规范. Swagger 是使用 OpenAPI 规范的工具.例如,OpenAPIGenerator 和 Swagge…