昆仑中间件是什么?
昆仑是一个高性能的,异步的,反应式的中间件平台,其目标是在无需对整个技术架构进行大规模改造的情况下,有效提升系统的稳定性、可扩展性以及可维护性,从而有力地支撑业务的快速发展。 其包含以下组件:
kunlun-dapr
:分布式应用运行时。提供服务调用,状态管理、分布式 ID(构建块)等功能;主要处理服务东西向流量。kunlun-proxy
:高性能 API 网关。提供身份认证,安全防护,流量控制等功能;主要处理传统南北向流量。kunlun-pilot
:可视化控制面板。提供资源发布,监控统计,链路追踪等功能。
特性
- 全动态能力,配置热更新(无需重启)
- 提供 Metrics,链路追踪,访问日志(JSON、CLF)等;其中访问日志兼容 Nginx 语法,可实现平滑迁移
- 提供插件机制,便于二次开发
- 提供 gRPC 接口,便于系统集成
- 支持 SSL 证书与 SNI
- 支持 Websocket、HTTP/2、gRPC
- 支持 Kubernetes、Consul、Nacos 服务发现
- 流量控制:内置限流、限速、蓝绿、灰度等插件,可通过 Lua 脚本构建更丰富的限流/切分逻辑
- 高效路由:支持路由优先级;基于前缀树的全路径、目录及前缀匹配
- 健康检查:上游节点健康检查,负载均衡期间自动过滤不健康的节点
- 弹性熔断:智能跟踪不健康上游服务,故障隔离及过载保护
使用场景
微服务架构
:在微服务架构中,昆仑中间件可以作为服务网关,对服务进行统一的路由、流量控制、安全认证等管理,提高微服务系统的整体可靠性和性能。云原生应用
:适用于构建云原生应用,能够与 Kubernetes 等容器编排平台无缝集成,实现服务的自动发现和负载均衡,帮助应用更好地利用云计算资源。高并发系统
:当您的系统面临高并发访问时,昆仑中间件的流量控制和弹性熔断功能可以有效地保障系统的稳定性,防止系统因突发的流量高峰而崩溃。API 管理
:可以用于管理和发布 API,对 API 的访问进行权限控制、流量限制、版本管理等,保护您的 API 资源,同时为开发者提供更好的使用体验。