当前位置: 首页 > news >正文

辽宁智能建站系统价格网站建设方案书

辽宁智能建站系统价格,网站建设方案书,WordPress更改admin,搜狗浏览器网页版入口原文作者:Jenn Gile - F5 NGINX 产品营销经理 原文链接:如何通过高级流量管理提高 Kubernetes 的弹性 转载来源:NGINX 中文官网 NGINX 唯一中文官方社区 ,尽在 nginx.org.cn 编者按 —— 本文是以下系列博文中的一篇(…

原文作者:Jenn Gile - F5 NGINX 产品营销经理

原文链接:如何通过高级流量管理提高 Kubernetes 的弹性

转载来源:NGINX 中文官网


NGINX 唯一中文官方社区 ,尽在 nginx.org.cn

编者按 —— 本文是以下系列博文中的一篇(共十篇):

  1. 生产级 Kubernetes 助您降低复杂性
  2. 如何通过高级流量管理提高 Kubernetes 的弹性(本文)
  3. 如何提高 Kubernetes 环境的可视性
  4. 使用流量管理工具保护 Kubernetes 的六种方法
  5. Ingress Controller 选型指南,第一部分:确定需求
  6. Ingress Controller 选型指南,第二部分:评估风险和技术前瞻性
  7. Ingress Controller 选型指南,第三部分:开源、默认和商用版本能力对比
  8. Ingress Controller 选型指南,第四部分:NGINX Ingress Controller 选项
  9. 如何选择 Service Mesh
  10. NGINX Ingress Controller 在动态 Kubernetes 云环境中的性能测试

您还可以免费下载整套博文集结成的电子书:《Kubernetes:从测试到生产》。

如何判断一家公司是否成功使用了现代应用开发技术呢?很简单,看看客户有没有在社交媒体上抱怨就知道了。客户可能会抱怨新片看不了,网银登不上去,购物车超时无法下单。

(我正要看一个我租借的电影,但是老是弹出“视频播放错误”的提示,并且网站帮助页面的网址也打不开。我的App是最新版本,我试过了退出重新登陆,也重启过我的网络电视。求个解决方案?)

即使他们没有公开抱怨,也不代表就没有问题。我们的一位客户 —— 一家大型保险公司曾告诉我们,如果他们未能在仅仅 3 秒内加载出主页,便会面临客户流失的问题。

用户对性能差或宕机问题的所有抱怨都指向了一个共同的元凶:缺乏弹性。微服务技术(包括容器和 Kubernetes)好就好在它能提高应用弹性,显著改善客户体验。为什么呢?这一切得从架构说起。

微服务架构与单体架构存在本质上的区别。打个比方,在老式的节日灯串中,只要有一个灯坏了,整串就都不亮了。如果不换灯泡,那就只能将整串丢掉。单体应用就像这种老式灯串一样,其组件紧密耦合在一起,一损俱损。

但是,照明行业和软件行业都发现了这个痛点。如果现代灯串上的某个灯泡发生故障,其他灯泡仍会继续照明。同样,对于设计良好的微服务应用而言,即使个别服务实例发生故障,整个应用也会继续运行。

Kubernetes 流量管理

容器因其轻便、可移植和易于扩展的特点,非常适合需要使用小型独立组件构建应用的场景,因而成为了微服务架构中颇受欢迎的一种选择。Kubernetes 已成为容器编排的事实标准,但若投入生产环境,还面临着许多挑战。要想增强 Kubernetes 应用的可控性和弹性,成熟的流量管理策略是一个重要因素,它能够让您控制服务而不是数据包,并动态地或使用 Kubernetes API 调整流量管理规则。流量管理在任何架构中都很重要,但对于高性能应用来说,有两个流量管理工具是必不可少的:流量控制和流量精分。

流量控制

流量控制(有时称为“流量路由”“流量整形”)是指控制流量去向及其传输方式的行为。在生产环境中运行 Kubernetes 是必须的,因为它可以保护您的基础架构和应用免遭攻击和流量激增。在应用开发过程中,您需要采用“速率限制”“断路”这两种技术。

  • 用例:我不希望服务接收过多请求
    解决方案:速率限制

    无论 HTTP 请求是恶意的(例如暴力破解密码和 DDoS 攻击)还是正常的(例如顾客蜂拥抢购),大量的 HTTP 请求都会导致服务瘫痪和应用崩溃。速率限制技术可限制用户在给定时间段内的请求数量。这些请求可能非常简单,例如访问网站主页的 GET 请求,或是登录页面上的 POST 请求。举例来说,当受到 DDoS 攻击时,您可以使用速率限制将传入的请求速率限制为真实用户的合理数值。

  • 用例:我希望避免出现级联故障
    解决方案:断路

    当服务不可用或出现高延迟时,传入请求的超时时间以及客户端收到错误响应的时间可能很长。长超时可能会造成级联故障,即一个服务中断导致其他服务超时,最终引发整个应用故障。

    断路器可监控服务故障,防止发生级联故障。当服务请求的失败次数超过预先设定的阈值时,将触发断路器,断路器一收到请求就向客户端返回错误响应,从而对服务进行限流。

    断路器将持续拦截和拒绝请求,等过了指定的时长后再放行有限数量的请求以作测试。如果这些请求成功,断路器将停止限流。如果不成功,则开始重新计时,期间断路器继续拒绝请求。

流量精分

流量精分(有时称为“流量测试”)是流量控制的一个子类,目的是为了控制传入流量的比例,这些流量会被导向到在环境中同时运行的不同版本的后端应用(通常为当前的生产版本和新版本)。流量精分是应用开发周期中的重要一环,允许团队在不影响客户的情况下测试新特性和版本的功能和稳定性。实用的部署场景包括调试路由灰度部署A/B 测试 和 蓝绿部署。(业界对这四个术语的使用存在很大分歧,此处先按我们理解的定义来使用它们。)

  • 用例:我准备在生产环境中测试新版本
    解决方案:调试路由

    假设您有一个银行应用,现在您要为其添加一个信用评分功能。在进行客户测试之前,您可能想要看一下它在生产环境中的表现。调试路由允许您公开部署新功能,同时又向真正的用户“隐藏”它,根据session cookie、session ID 或group ID 等 7 层属性,只允许特定用户访问它。例如,您可以只允许拥有管理会话 cookie 的用户访问 —— 他们的请求将被路由到具有信用评分功能的新版本,而其他用户则继续访问稳定版。

  • 用例:我需要确保新版本性能稳定
    解决方案:灰度部署(又称“金丝雀部署”)

    金丝雀部署的概念来自一个历史悠久的采矿实践,当时的矿工将金丝雀装在笼子里带入矿井,一旦发现金丝雀中毒就紧急撤离,因此金丝雀是“瓦斯报警鸟”。在应用世界里,不会再有牺牲品了。灰度部署为测试新特性或新版本的稳定性提供了一种安全、敏捷的方法。典型的灰度部署是,先让绝大多数(比如 99%)用户使用稳定版,然后将一小部分用户(剩余的 1%)转移到新版本。如果新版本出现问题(例如崩溃或向客户端返回错误),您可以立即将测试用户转移回稳定版。如果新版本顺利运行,您可以一次性或以可控的方式逐步(更为常见)将用户从稳定版迁移到新版本。

  • 用例:我需要了解新版本是否比当前版本更受客户的喜爱
    解决方案:A/B 测试

    确认新特性在生产环境中运行无误后,您可能还希望了解客户对该特性的反馈,包括点击量、回头客比率或显式评分等关键性能指标 (KPI)。许多行业都使用 A/B 测试流程来衡量和比较用户行为,目的是确定不同产品或应用版本在客户群体中的受欢迎程度。在典型的 A/B 测试中,50% 的用户访问版本 A(当前的应用版本),剩余 50% 的用户访问版本 B(包含稳定的新功能的版本)。KPI 综合得分最高的版本将胜出。

  • 用例:我希望在不停机的情况下将用户转移到新版本
    解决方案:蓝绿部署

    现在,假设您的银行应用即将进行重大版本变更,那么,恭喜您!过去,版本升级通常意味着用户停机,因为您必须先从生产环境中移除旧版本,然后才能再推送新版本。但在当今竞争激烈的环境中,大多数用户都无法接受停机升级。蓝绿部署极大地减少甚至消除了升级的停机时间。您可以继续在生产环境中运行旧版本(蓝),同时在该生产环境中部署新版本(绿)。

    大多数企业都不愿意将所有用户一次性从蓝色转移到绿色,毕竟,如果绿色版本发生故障怎么办?!解决方案是使用灰度部署,以最符合您的风险规避策略的增量方式转移用户。如果新版本是一场灾难,您只需敲击几下键盘,便可以轻松地将每个人转移回稳定版。

NGINX 如何助您一臂之力

大多数 Ingress controllers 和 service mesh(服务网格)都可以帮助您实现高级流量控制和分割。使用哪种技术取决于您的应用架构和用例。例如,Ingress controller 适用于以下三种场景:

  • 您的应用只有一个端点,就像您迁移到 Kubernetes 的简单应用或单体应用一样。
  • 集群中没有 service 到 service 的通信。
  • 集群中有 service 到 service 的通信,但您还没有使用 service mesh。

如果您的部署复杂到要使用 service mesh 的地步,一个常见的用例是通过分割服务流量来测试或升级各个微服务。举例来说,您可能想在移动前端的两个不同版本的地理位置微服务 API 之间进行灰度部署。

然而,有些 Ingress controller 和 service mesh 在设置流量精分时不仅非常耗时,而且容易出错,原因有很多:

  • 不同厂商的 Ingress controller 和 service mesh 具有不同的 Kubernetes 功能实施方式。
  • Kubernetes 不是专为管理和理解 7 层流量而生。
  • 有些 Ingress controller 和 service mesh 不支持复杂的流量管理。

借助 NGINX Ingress Controller 和 NGINX Service Mesh 您可在几秒钟内轻松配置稳健的流量路由和分割策略。

NGINX Ingress 资源和 SMI 规范助您简化配置

以下 NGINX 功能简化了配置流程:

  • 面向 NGINX Ingress Controller 的 NGINX Ingress 资源 —— 虽然标准的 Kubernetes Ingress 资源可简化 SSL/TLS 终止、HTTP 负载均衡和 7 层路由的相关配置,但它不具备断路、A/B 测试和蓝绿部署所需的定制功能。因此,非 NGINX 用户必须求助于注释、ConfigMap 和自定义模板,但它们都缺乏细粒度控制,并且不安全、易出错且难使用。

    NGINX Ingress Controller 自带 NGINX Ingress 资源,作为标准 Ingress 资源(同时也支持该资源)的替代方案。该资源采用了一种原生、类型安全的缩进式配置风格,可简化 Ingress 负载均衡的实施。对现有 NGINX 用户来说,NGINX Ingress 资源还有一个额外的好处:它们可以简化非 Kubernetes 环境中负载均衡配置的再利用,从而支持所有 NGINX 负载均衡器使用相同的负载均衡配置。

  • 遵循 SMI 的 NGINX Service Mesh —— NGINX Service Mesh 实施了 Service Mesh Interface (SMI) —— SMI 是一个规范。定义了在 Kubernetes 上运行的 Service Mesh 的标准接口,具有 TrafficSplitTrafficTarget 和 HTTPRouteGroup。等类型化资源。借助标准的 Kubernetes 配置方法,NGINX Service Mesh 和 NGINX SMI 扩展程序可简化流量精分策略(如灰度部署)的部署,并最大限度地减少对生产流量的中断。以下是使用 NGINX Service Mesh 定义灰度部署的示例:

    apiVersion: split.smi-spec.io/v1alpha2
    kind: TrafficSplit
    metadata:
    name: target-ts
    spec:
    service: target-svc
    backends:
    - service: target-v1-0weight: 90
    - service: target-v2-0weight: 10

    我们的教程《使用流量精分的部署》介绍了利用流量精分的部署模式示例,包括灰度部署和蓝绿部署。

借助高级定制实现更复杂的流量控制和流量精分

NGINX 的以下功能能够以更高级的方式简化流量控制和流量精分:

  • 面向灰度部署的键值存储 —— 当您执行 A/B 测试或蓝绿部署时,您可能希望按特定的增量(例如 0%、5%、10%、25%、50% 和 100%)将流量过渡到新版本。大多数工具都需要很多人工操作,因为您必须为每个增量编辑百分比并重新加载配置文件。面对不小的工作量,您可能会冒险直接从 5% 过渡到 100%。然而,借助基于 NGINX Plus 的 NGINX Ingress Controller,您可以利用键值存储更改百分比,且无需重载配置文件。

  • 通过 NGINX Ingress Controller 断路 —— 先进的断路器能够更快速地检测故障和故障转移,甚至针对不健康的上游服务激活定制的格式化错误页面,从而帮助您节省时间和提高弹性。举例来说,搜索服务的断路器可能会返回一组格式正确但内容为空的搜索结果。为了达到这种效果,基于 NGINX Plus 的 NGINX Ingress Controller 采用了主动健康检查,主动监控 TCP 和 UDP 上游服务器的健康状况。由于监控是实时的,您的客户端遭遇应用错误的概率将大大降低。

  • 通过 NGINX Service Mesh 断路 —— NGINX Service Mesh 断路器规范具有三个自定义字段:

    • errors —— 断路器触发前的错误数
    • timeoutSeconds —— 断路器触发前发生错误的窗口,以及断路器关闭前的等待时间
    • fallback —— o断路器触发后,流量被重新路由到的 Kubernetes 服务的名称和端口

    errors 和 timeoutSeconds 是标准的断路器功能,而 fallback 支持您定义备份服务器,进一步提高了弹性。如果您的备份服务器响应是独一无二的,它们可以作为集群故障的早期指示器,让您第一时间开启故障排除。

借助仪表盘解读流量精分结果

现在,您已实现了流量精分……接下来该做什么呢?接下来我们应该分析流量精分结果。这可能是最难的一个环节,因为许多企业都缺乏对 Kubernetes 流量和应用运行情况的关键洞察。NGINX 可通过 NGINX Plus 仪表盘 和预构建的 Grafana 仪表盘,以图示的形式展示 Prometheus Exporter 暴露的指标,从而帮助您更轻松地获取洞察信息。如欲详细了解如何提高可视性、获取洞察,请阅读我们的博文 《如何提高 Kubernetes 环境的可视性》。

NGINX 助您轻松掌控微服务

基于 NGINX Plus 的 NGINX Ingress Controller 提供 30 天免费试用版,其中包括可以保护容器化应用的 NGINX App Protect。

如欲试用 NGINX 开源版 NGINX Ingress Controller,您可以获取发布源代码,或者从 DockerHub下载预构建的容器。

您可前往 f5.com 下载始终免费的 NGINX Service Mesh。


NGINX 唯一中文官方社区 ,尽在 nginx.org.cn

更多 NGINX 相关的技术干货、互动问答、系列课程、活动资源: 开源社区官网 | 微信公众号


文章转载自:
http://nonesuch.c7497.cn
http://merrily.c7497.cn
http://leatherette.c7497.cn
http://debugger.c7497.cn
http://paperhanging.c7497.cn
http://lancewood.c7497.cn
http://aachen.c7497.cn
http://typify.c7497.cn
http://carvacrol.c7497.cn
http://world.c7497.cn
http://embryotrophic.c7497.cn
http://endleaf.c7497.cn
http://annealing.c7497.cn
http://billion.c7497.cn
http://ovate.c7497.cn
http://percutaneous.c7497.cn
http://botel.c7497.cn
http://labradorian.c7497.cn
http://unsuitability.c7497.cn
http://lassen.c7497.cn
http://collyrium.c7497.cn
http://autotruck.c7497.cn
http://passionflower.c7497.cn
http://eurasiatic.c7497.cn
http://emancipation.c7497.cn
http://tempestuously.c7497.cn
http://bajri.c7497.cn
http://leash.c7497.cn
http://giraffe.c7497.cn
http://tv.c7497.cn
http://clencher.c7497.cn
http://prosaic.c7497.cn
http://colourbearer.c7497.cn
http://inadequately.c7497.cn
http://increately.c7497.cn
http://undercliff.c7497.cn
http://pantry.c7497.cn
http://uninvestigated.c7497.cn
http://chintzy.c7497.cn
http://isopropyl.c7497.cn
http://rictus.c7497.cn
http://heathberry.c7497.cn
http://pinnatilobed.c7497.cn
http://elliptoid.c7497.cn
http://unsettle.c7497.cn
http://overwise.c7497.cn
http://dysplasia.c7497.cn
http://retort.c7497.cn
http://nucleochronometer.c7497.cn
http://phrasal.c7497.cn
http://butyrate.c7497.cn
http://sialolith.c7497.cn
http://flaky.c7497.cn
http://feignedly.c7497.cn
http://shibboleth.c7497.cn
http://deepfry.c7497.cn
http://vulgate.c7497.cn
http://preeminence.c7497.cn
http://chang.c7497.cn
http://hoverpad.c7497.cn
http://suppletion.c7497.cn
http://nsa.c7497.cn
http://enuresis.c7497.cn
http://playfellow.c7497.cn
http://festschrift.c7497.cn
http://ghostwrite.c7497.cn
http://schnaps.c7497.cn
http://garran.c7497.cn
http://annotate.c7497.cn
http://analecta.c7497.cn
http://gnarl.c7497.cn
http://mnemotechnic.c7497.cn
http://thermosiphon.c7497.cn
http://marsupialise.c7497.cn
http://generality.c7497.cn
http://keratin.c7497.cn
http://misogynist.c7497.cn
http://paranoea.c7497.cn
http://ceresin.c7497.cn
http://aut.c7497.cn
http://douse.c7497.cn
http://pneumobacillus.c7497.cn
http://clip.c7497.cn
http://caught.c7497.cn
http://becharm.c7497.cn
http://elongate.c7497.cn
http://eupepticity.c7497.cn
http://breach.c7497.cn
http://lenis.c7497.cn
http://imprecatory.c7497.cn
http://tensity.c7497.cn
http://decretory.c7497.cn
http://somatostatin.c7497.cn
http://oakland.c7497.cn
http://ferromanganese.c7497.cn
http://sunroom.c7497.cn
http://warstle.c7497.cn
http://jealousy.c7497.cn
http://nomex.c7497.cn
http://dippy.c7497.cn
http://www.zhongyajixie.com/news/67381.html

相关文章:

  • 外国服务器ip地址关键词优化排名软件案例
  • 做单页网站需要做什么的公司网站建设
  • 住房与城乡建设局网站天津网站优化公司
  • 网站宣传与推广的方法百度网站客服
  • 用dw做教学网站泰州网站优化公司
  • 想做一个网站平台怎么做的营销手段
  • 建设cpa网站需要什么推广网站哪个好
  • 做网站赚钱还是做应用赚钱企业管理培训课程视频
  • 龙岗公司的网站制作免费手游推广代理平台渠道
  • 招标网站大全酒泉网站seo
  • 5118站长工具疫情最新资讯
  • 网站建设优化外包南宁白帽seo技术
  • 聊城企业做网站网站seo属于什么专业
  • 树状菜单网站百度登录页
  • 交互设计师和ui设计师的区别无锡seo公司找哪家好
  • 上海地产网站建百度竞价排名多少钱
  • 如何搭建网站线上推广平台有哪些
  • 松江建网站湖南seo推广
  • 网站开发结束语湖南优化公司
  • 浪网站制作百度指数的使用
  • 国外设交网站开发客户的重要性游戏挂机赚钱一小时20
  • 整合营销推广seo最新快速排名
  • 上海三益建筑设计有限公司搜索引擎优化关键词的处理
  • 济宁梵盛科技网站建设石家庄seo管理
  • 建设人才网站的目的百度搜索引擎的优缺点
  • 吉林房地产网站开发百度网盘在线登录入口
  • 做个微信小程序要花多少钱淄博seo
  • 宁波网站建设设计制作方案与价格培训体系
  • 个人网站不备案做经营性质网站成都seo推广员
  • 住房城乡建设部门户网站烟气脱硫seo整站优化服务教程