Bumblebee微服务网关之负载策略

作为一个微服务网关,提供不同负载策略配置是一项非常重要的主要功能;在这方向Bumblebee提供了非常好的支持。Bumblebee可以针对不同路径制定各自的负载策略,更重要的是这些调整都可以在网关运行过程动态调整!动态策略调整可以更好的应对不同的特发状况,并可以更好的调配负载资源来应对当前的特发情况。在负载上Bumblebee提供了平均和一致性等负载方案,可以更好地制定不同的并发应用需求。

制定路径策略

路径策略是通过正则来描述一个请求路径,组件会优先长正则配匹。

640?wx_fmt=png

以上定义了一个^/api.*负载规则,只要是匹配以上规则的所有API请求都会分配到http://localhost:58387/服务上,而其他请求则分配给http://192.168.2.26:9090/;接下来分别访问一下/json,/api/Index/api/hello,看一下它们的访问日志记录情况.

640?wx_fmt=png

通过组件记录的日志来看,所有/api/的请求都分发到http://localhost:58387/而其他则分发给http://192.168.2.26:9090/

服务负载

应用中往往需要多个服务来处理并发业务,这个时候就存在服务负载的问题;组件提供了权重和一致性等方让用户根据情况来制定不同的服务负载决策。

640?wx_fmt=png

以上配置是所有服务的权重都是零,所以由三个服务平均负载所有请求。可以通过多次访问/json看一下访问记录分配情况:

640?wx_fmt=png

权重分配

由于资源的分配往往不是平均的,所以在实际应用也需要依据服务所拥有的资源多少来配置不同的负载比例。

640?wx_fmt=png

以上配置是http://192.168.2.26:9090/并发分配比例是66%http://192.168.2.25:9090/分配比例则是33%;由于http://192.168.2.27:9090/分配的权重为零所以不参与分配。接下来多次访问/json看一下访问记录分配情况:

640?wx_fmt=png

零权重

一般情况下零权重是不参与负载,但当有权重的服务不可用的时候,那零权重的服务则会提升上来进行处理;因此零权重的服务更多用于备用服务。

640?wx_fmt=png

以上是把有权重的服务关闭了,访问/json看一下访问记录分配情况:

640?wx_fmt=png

一致性分配

有些情况需要把同一路径或不同用户一致性到服务上,这样可以确保这些请求都会被分配到一个服务中。

640?wx_fmt=png

以上设置了url作为一致分配规则,接下来多次访问/json,/employees,/orders/hello看一下访问记录分配情况:

640?wx_fmt=png

一致性配置规则

一致性配置规则如下:host|url|baseurl|(h:name)|(q:name)

  • host获取请求头的Host信息作为一致性依据

  • url获取整个请求url信息作为一致性依据

  • baseurl获取基础url信息作为一致性依据

  • (h:name) 获取某个头部信息作为一致性依据

  • (q:name) 获取某个QueryString值作为一致性依据

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FastDFS分布式文件系统设计原理

FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适…

14年百度深度学习校招题目

一、简答题1.深度神经网络目前有哪些成功的应用?简述原因。(10分) 2.列举不同进程共享数据的方式(至少三种)。(10分) 3.对于N个样本,每个样本为D维向量,采用欧式距离使用KNN做类预测。(10分) 1).给出预测时间复杂度。 …

HDFS分布式文件系统设计原理

Hadoop分布式文件系统(HDFS)是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。它能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。要理解HDFS的内部工作原理,首先要理解什…

Magicodes.IE已支持导出Word、Pdf和Html

关于Magicodes.IE导入导出通用库,通过导入导出DTO模型来控制导入和导出,支持Excel、Word、Pdf和Html。GitHub地址:https://github.com/xin-lai/Magicodes.IE特点需配合相关导入导出的DTO模型使用,支持通过DTO以及相关特性控制导入…

AOP框架Dora.Interception 3.0 [1]: 编程体验

.NET Core正式发布之后,我为.NET Core度身定制的AOP框架Dora.Interception也升级到3.0。这个版本除了升级底层类库(.NET Standard 2.1)之外,我还对它进行大范围的重构甚至重新设计。这次重构大部分是在做减法,其目的在…

分布式缓存——一致性哈希算法

本文主要来自:http://www.zsythink.net/archives/1182 摘录防丢失 一致性哈希算法定义 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初…

H264学习_基本数据结构

原文地址:http://blog.csdn.net/yangzhongxuan/article/details/8003494 名词解释 场和帧 : 视频的一场或一帧可用来产生一个编码图像。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。 片&#xff1a…

【巴马火麻茶】调节三高、治疗失眠、排毒减肥,轻松get长寿的秘密!

水,无色无味,是人类的生命源泉对于长期坐办公室的程序员朋友来说每日都得喝水但又觉得寡淡的白开水缺少点乐趣于是,茶叶就成了大家泡水的首选今天,队长要为大家介绍一款养生好茶巴马火麻茶每天一杯,轻松get长寿的秘密火…

「合规」震惊!地图可视化竟能如此玩,零门槛,全免费,效果远胜主流作图工具!...

在数据可视化领域,早晚会遇上地图可视化的需求,一个高大上的地图可视化,瞬间拔高整个报告的层次。Excel催化剂有幸接触并将地图可视化完全落地于Excel中完成。相对主流Python、R、PowerBI等作图工具,在易用性、灵活性和功能的强大…

Opencv SVM demo

转载自http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html 支持向量机 (SVM) 是一个类分类器,正式的定义是一个能够将不同类样本在样本空间分隔的超平面。 换句话说&#xff…

BeetleX之FastHttpApi服务使用详解

BeetleX是一个轻量级高性能的开源TCP通讯应用框架,通过BeetleX可以轻松扩展不同场的TCP应用服务和客户端组件。框架开源地址:https://github.com/IKende/BeetleX组件特点高性能TCP通讯组件,轻易实现百万级RPS通讯交互提供完善的会话管理机制和协议分析规则提供简洁的…

康威定律

本文来自:http://www.dockone.io/article/2691 1、概述 微服务架构是一种非常流行的新概念,即便可供以借鉴的经验比较少,当然不能阻挡它成为热门话题与研究对象。 令人惊讶地是,其实微服务的概念早在五十多年前就已经被提出&…

Cannot find or open the PDB file

http://blog.chinaunix.net/uid-11765716-id-3074932.html 遇到问题 SVM_demo.exe (Win32): Loaded ...\SVM_demo\Debug\SVM_demo.exe. Symbols loaded. SVM_demo.exe (Win32): Loaded C:\Windows\System32\ntdll.dll. Symbols loaded. SVM_demo.exe…

基于ASP.NET Core 3.0的ABP v0.21已发布

在微软发布仅仅一个小时后, 基于ASP.NET Core 3.0的ABP v0.21也紧跟着发布了.v0.21没有新功能.它只是升级到稳定的ASP.NET Core 3.0. 查看v0.20发行说明以获取新功能,增强功能和错误修复.关于v1.0ABP框架越来越接近v1.0.我们打算在今年10月中旬发布1.0. 现在,我们将完善测试和文…

SOA和微服务

一、面向服务的架构SOA SOA代表了面向服务的架构。 SOA是一种使用松耦合的黑盒子服务构建业务应用的体系架构,这些服务可以通过编排连接在一起以实现特定的功能。 面向服务的架构(Service-Oriented Architecture)是一种软件体系结构&#x…

[ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [上篇]

微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的.NET程序员,相信传统的.NET应用的开发方式已经深深地烙印…

下一代微服务架构基础:ServiceMesh?

最近,ServiceMesh(服务网格) 概念在社区里头非常火,有人提出 2018 年是 ServiceMesh 年,还有人提出 ServiceMesh 是下一代的微服务架构基础。作为架构师,如果你现在还不了解 ServiceMesh 的话,是否感觉有点落伍了&…

ASP.NET Core 2.0 Web API项目升级到ASP.NET Core 3.0概要笔记

本文结构先决条件升级目标框架(Target Framework)的版本过时的IHostingEnvironment与IApplicationLifetime对象Endpoint Routing与AddMvc中间件Swashbuckle.AspNetCore总结手头有个ASP.NET Core 2.0的项目,打算将里面的依赖包进行一个版本升级…

常见消息队列对比

一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,Rabbit…

Precision-Recall Curve

原文出自:http://blog.csdn.net/pirage/article/details/9851339 最近一直在做相关推荐方面的研究与应用工作,召回率与准确率这两个概念偶尔会遇到, 知道意思,但是有时候要很清晰地向同学介绍则有点转不过弯来。 召回率和准确率是…