wps栏目上的运服务怎么没有了
696
2022-05-29
一 概述
Kong是一个clould-native、快速的、可扩展的、分布式的微服务抽象层(也称为API网关、API中间件或在某些情况下称为服务网格)框架。更确切地说,Kong是一个在Nginx中运行的Lua应用程序,并且可以通过lua-nginx模块实现。Kong不是用这个模块编译Nginx,而是与OpenResty一起发布,OpenResty已经包含了lua-nginx-module。OpenResty 不是 Nginx的分支,而是一组扩展其功能的模块。
这为可插拔架构奠定了基础,可以在运行时启用和执行Lua脚本(称为*“插件”*)。因此,我们认为Kong是微服务架构的典范:它的核心是实现数据库抽象,路由和插件管理。插件可以存在于单独的代码库中,并且可以在几行代码中注入到请求生命周期的任何位置。Kong作为开源项目在2015年推出,它的核心价值是高性能和可扩展性。
Kong被广泛用于从初创企业到全球5000家公司以及政府组织的生产环境中。
如果构建Web、移动或IoT(物联网)应用,可能最终需要使用通用的功能来实现这些应用。Kong充当微服务请求的网关(或侧车),通过插件能够提供负载平衡、日志记录、身份验证、速率限制、转换等能力。
一个service可以创建多个routes,routes就相当于前端配置,可以隐藏业务真正的接口地址,service指定后端真实的转发接口地址,在kong上进行认证/鉴权/日志/分析/监控等控制。
二 特性
云原生(Cloud-Native):Kong可以在Kubernetes或物理环境上运行;
动态负载平衡(Dynamic Load Balancing):跨多个上游服务的负载平衡业务。
基于哈希的负载平衡(Hash-based Load Balancing):一致的散列/粘性会话的负载平衡。
断路器(Circuit-Breaker):智能跟踪不健康的上游服务。
健康检查(Health Checks):主动和被动监控您的上游服务。
服务发现(Service Discovery):解决如Consul等第三方DNS解析器的SRV记录。
无服务器(Serverless):从Kong中直接调用和保证AWS或OpenWhisk函数安全。
WebSockets:通过WebSockets与上游服务进行通信。
OAuth2.0:轻松的向API中添加OAuth2.0认证。
日志记录(Logging):通过HTTP、TCP、UDP记录请求或者相应的日志,存储在磁盘中。
安全(Security):ACL,Bot检测,IPs白名单/黑名单等。
系统日志(Syslog):记录信息到系统日志。
SSL:为基础服务或API设置特定的SSL证书。
监视(Monitoring):能够实时对关键负载和性能指标进行监控。
转发代理(Forward Proxy):使端口连接到中间透明的HTTP代理。
认证(Authentications):支持HMAC,JWT和BASIC方式进行认证等等。
速率限制(Rate-limiting):基于多个变量的阻塞和节流请求。
转换(Transformations):添加、删除或操作HTTP请求和响应。
缓存(Caching):在代理层进行缓存和服务响应。
命令行工具(CLI):能够通过命令行控制Kong的集群。
REST API:可以通过REST API灵活的操作Kong。
GEO复制:在不同的区域,配置总是最新的。
故障检测与恢复(Failure Detection & Recovery):如果Cassandra节点失效,Kong并不会受影响。
群集(Clustering):所有的Kong节点会自动加入群集,并更新各个节点上的配置。
可扩展性(Scalability):通过添加节点,实现水平缩放。
性能(Performance):通过缩放和使用Nigix,Kong能够轻松处理负载。
插件(Plugins):基于插件的可扩展体系结构,能够方便的向Kong和API添加功能。
三 依赖组件
Kong部署在Nginx和Apache Cassandra或PostgreSQL等可靠技术之上,并提供了易于使用的RESTful API来操作和配置系统。下面是Kong的技术逻辑图。基于这些技术,Kong提供相关的特性支持:
3.1 Nginx
经过验证的高性能基础;
HTTP和反向代理服务器;
处理低层级的操作。
3.2 OpenRestry
支持Lua脚本;
拦截请求/响应生命周期;
基于Nginx进行扩展。
3.3 Clustering&Datastore
支持Cassandra或PostgreSQL数据库;
内存级的缓存;
支持水平扩展。
3.4 Plugins
使用Lua创建插件;
功能强大的定制能力;
与第三方服务实现集成。
3.5 Restful Administration API
通过Restful API管理Kong;
支持CI/CD&DevOps;
基于插件的可扩展。
四 架构图
API Docker NAT 微服务
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。