当前位置: 首页 > 软件库 > 云计算 > 云原生 >

Easegress

全功能型流量调度和编排系统
授权协议 Apache-2.0
开发语言 Google Go
所属分类 云计算、 云原生
软件类型 开源软件
地区 不详
投 递 者 万俟渝
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Easegress 是一个云原生流量编排系统,设计用于:

  • 高可用性:内置的 Raft 共识和领导者选举提供 99.99% 的可用性。
  • 流量编排:对每个流量管道的各种过滤器进行简单的编排。
  • 高性能:轻量级和基本功能可加快性能。
  • 可观察性:以可读的方式周期性地有许多有意义的统计数据。
  • 可扩展性:使用高级编程语言可以轻松开发自己的过滤器或控制器。
  • 集成:简单的接口使其易于与其他系统集成,例如 Kubernetes Ingress、EaseMesh sidecar、Workflow 等。

Easegress 的基本常见用法是为后端服务器快速设置代理。

Easegress 的架构:

特性:

  • 服务管理
    • 多种协议:
      • HTTP/1.1
      • HTTP/2
      • HTTP/3(QUIC)
      • MQTT(即将推出)
    • 丰富的路由规则:精确路径、路径前缀、路径的正则表达式、方法、标头。
    • 弹性和容错
      • 断路器:暂时阻断可能的故障。
      • 速率限制器:限制传入请求的速率。
      • 重试器:重复失败的执行。
      • 时间限制器:限制执行的持续时间。
    • 部署管理
      • 蓝绿策略:一次切换流量。
      • Canary 策略:稍微安排流量。
    • API 管理
      • API聚合:聚合多个API的结果。
      • API 编排:编排API的流程。
    • 安全
      • IP 过滤器:限制对 IP 地址的访问。
      • 静态 HTTPS:静态证书文件。
      • API 签名:支持HMAC验证。
      • JWT 验证:验证JWT 令牌
      • OAuth2:验证OAuth/2请求。
      • Let's Encrypt:自动管理证书文件。
    • 管道过滤机制
      • 责任链模式:编排过滤器链。
      • 过滤器管理:使开发新过滤器变得容易。
    • 服务网格
      • Mesh Master:是管理网格服务生命周期的控制平面。
      • Mesh Sidecar:以数据平面为端点,做流量拦截和路由。
      • Mesh Ingress Controller:是特定于网格的入口控制器,用于将外部流量路由到网格服务。

        注意:此功能由EaseMesh利用

    • 第三方集成
      • FaaS与无服务器平台 Knative 集成。
      • 服务发现与 Eureka、Consul、Etcd 和 Zookeeper 集成。
      • 入口控制器作为入口控制器与 Kubernetes 集成。
  • 可扩展性
  • 高性能和可用性
    • 适应:在处理链中适应请求、响应。
    • 验证:标头验证、OAuth2、JWT 和 HMAC 验证。
    • 负载均衡:循环、随机、加权随机、ip 哈希、头部哈希。
    • 缓存:用于后端服务器。
    • 压缩:压缩响应体。
    • 热更新:在不丢失连接的情况下更新 Easegress 的配置和二进制文件。
  • Operation
    • 易于集成:命令行( egctl)、MegaEase Portal、HTTP 客户端如 curl、postman 等。
    • 分布式追踪
    • 可观察性
      • 节点:角色(leader、writer、reader)、健康与否、上次心跳时间等
      • 流量:多维度:服务器和后端。
        • 吞吐量:请求计数、TPS/m1、m5、m15、错误百分比等的总数和错误统计。
        • 延迟: p25、p50、p75、p95、98、p99、p999。
        • 数据大小:请求和响应大小。
        • 状态代码: HTTP 状态代码。
        • TopN:按聚合API排序(仅在服务器维度)。
  • 作者:Bomin Zhang 2021年9月23日 特邀文章,原载于Github,作者:Megaease 的张博民 闪购是电子商务商店在短时间内提供的折扣或促销。数量有限,这往往意味着折扣比普通的促销活动要高或更显著。 然而,显著的折扣、有限的数量和短暂的时间导致了显著的高流量高峰,这往往会导致服务缓慢、拒绝服务,甚至是停机。 本文说明了如何利用WasmHost过滤器来保护闪购中的后端服务。Web

 相关资料
  • 本文向大家介绍QOS流量调度,包括了QOS流量调度的使用技巧和注意事项,需要的朋友参考一下 QoS流量调度是基于QoS(服务质量)的网络流量调度方法。在这里,帧或数据包基于其QoS信息映射到内部转发队列,然后根据排队方案作为服务。 通常,存在多个队列,每个队列具有不同的优先级。调度程序决定要对每个队列中的流量进行处理的类型。流量可用时,调度程序会将其映射到适当的队列。例如,将视频和语音流量保持在队

  • 我正在尝试理解这些调度算法: 先到先得(FCFS) 最短作业优先(SJF) 最短剩余时间(SRT) 循环赛(RR) 因此,给定一些输入: FCFS将安排为。 我似乎无法弄清楚其余的。有人可以帮助我解释差异吗? 我试过谷歌搜索,但我为SJF得到的结果有点令人困惑。

  • 我试图创建一个重载函数,该函数将用对象的动态类型调用。我尽量做到这一点,而不干扰下面的实际类结构,因为我没有直接访问权限(即我无法添加虚拟方法等) 作为一个具体的例子,让我们考虑一个AST类结构,它看起来有点像这样: 我想编写一个函数act,它将ASTNode的一个实例作为参数,并根据其实际的动态类型执行不同的操作。电话是这样的 然后,我想根据ASTNode的动态类型采取行动。 但目前我无法调用,

  • 主要内容:numpy.sort(),numpy.argsort(),numpy.lexsort(),numpy.nonzero(),numpy.where(),numpy.extract(),numpy.argmax(),numpy.argmin()NumPy 提供了多种排序函数, 这些排序函数可以实现不同的排序算法。 排序算法特征主要体现在以下四个方面:执行速度,最坏情况下的复杂度,所需的工作空间以及算法的稳定性。下表列举了三种排序算法: NumPy排序算法 种类 速度 最坏复杂度 工作空间

  • 1. 功能流程 1.1. 语音唤醒交互流程 1.2. 按键唤醒交互流程 1.3. 音量大小调节流程 1.4. 语音交互流程 1.5. 麦克风操作流程 1.6. 通知流程 1.7. 报警流程 1.8. 蓝牙配网流程 1.9. Alexa 授权流程 1.9.1. 获取MetaData 1.9.2. 发送认证信息 1.10. AVS OTA升级 1.10.1. 概述 1.1. 语音唤醒交互流程 用户通过

  • 问题内容: JavaScript被认为具有一流的功能,因此以下代码应该可以工作: 但是它在所有浏览器上均失败,每个浏览器上都有不同的隐式错误消息。Safari提示“输入错误”。Chrome表示“非法调用”。Firefox说“无法转换JavaScript参数”。 为什么? 问题答案: 因为在JavaScript函数中,arent 绑定 到上下文()。您可以使用: