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

化工网站建设移动微网站开发

化工网站建设,移动微网站开发,万商天勤律师事务所,网站模板制作与安装教程文章目录[toc]一、概念二、场景与设计思路三、实现四、代码下载一、概念 活跃数 集群中各实例未处理的请求数。 最小活跃数 集群中各个实例,哪个实例未处理的请求数据最小,就称之为最小活跃数。 二、场景与设计思路 场景 以获取微服务地址为场景。 设计…

文章目录

    • @[toc]
      • 一、概念
      • 二、场景与设计思路
      • 三、实现
      • 四、代码下载

一、概念


  • 活跃数
    • 集群中各实例未处理的请求数。
  • 最小活跃数
    • 集群中各个实例,哪个实例未处理的请求数据最小,就称之为最小活跃数。

二、场景与设计思路


  • 场景
    • 以获取微服务地址为场景。
  • 设计思路
    • 初始化微服务地址,并初始化活跃数。
    • 获取字典或集合中活跃数最小的值,如果获取的值有多个,说明活跃数是相同,必须随机出一个地址后,活跃数并且加1。
    • 获取到地址后,必须将该地址的活跃数减1。

三、实现


  • 新建抽象类–AbstractLeastActive
     public abstract class AbstractLeastActive{#region  变量 /// <summary>/// 字典/// </summary>public ConcurrentDictionary<string, int> keyValuePairs = new ConcurrentDictionary<string, int>();/// <summary>/// 相同编号的数据集合 /// </summary>protected List<string> list = new List<string>();#endregion  #region 虚函数/// <summary>/// 筛选最小编号的数据/// </summary>protected void FilterMinValue(){int number = int.MaxValue;foreach (var item in keyValuePairs){if (number >= item.Value){if (number == item.Value){number = item.Value;list.Add(item.Key);continue;}list.Clear();number = item.Value;list.Add(item.Key);}}}/// <summary>/// 随机集合中的数据/// </summary>protected string RandomValue(){Random random = new Random();var num = random.Next(list.Count);return list[num];}/// <summary>/// 活跃数加1/// </summary>/// <param name="key">key值</param>protected void AddActive(string key) {keyValuePairs.TryUpdate(key, keyValuePairs[key]+1, keyValuePairs[key]);}#endregion/// <summary>/// 释放编号/// </summary>/// <param name="key"></param>public abstract void Dispose(string key);/// <summary>/// 获取最小活跃数/// </summary>/// <returns></returns>public abstract string GetValue();
    
  • 新建实现类–LeastActive
      public class LeastActive : AbstractLeastActive{/// <summary>/// 获取最小活跃数据/// </summary>/// <returns></returns>public override string GetValue(){string value = "";//筛选数据this.FilterMinValue();if (this.list.Count == 1){value = this.list[0];//活跃数加1this.AddActive(value);return value;}else if (this.list.Count > 1) {value = this.RandomValue();//活跃数加1this.AddActive(value);return value;}return value;}/// <summary>/// 最小活跃数据释放 /// </summary>/// <param name="key"></param>public override void Dispose(string key){keyValuePairs.TryUpdate(key, keyValuePairs[key] - 1, keyValuePairs[key]);}}
    
  • 新建单元测试
          private AbstractLeastActive abstractLeastActive = new LeastActive();[Fact]public void Test1(){abstractLeastActive.keyValuePairs.TryAdd("http://localhost:8080", 0); abstractLeastActive.keyValuePairs.TryAdd("http://localhost:8082", 1);abstractLeastActive.keyValuePairs.TryAdd("http://localhost:8081", -1);abstractLeastActive.keyValuePairs.TryAdd("http://localhost:8083", -1);string value = abstractLeastActive.GetValue();abstractLeastActive.Dispose(value);Assert.Equal("http://localhost:8083", value);}
    

四、代码下载

CSDN:https://download.csdn.net/download/Fu_Shi_rong/87435602
Git:https://gitee.com/Fu_Shi_rong/gcnf.algorithm

http://www.yayakq.cn/news/189524/

相关文章:

  • 网站备案号查询可以做软件的网站有哪些内容
  • 用二级页面做网站的源代码360免费建站不要钱
  • 自己做网站还是公众号网站建设 三牛
  • 长沙网站优化方式wordpress搬家后错乱
  • 多个网站 备案吗淘宝电商运营基础知识
  • 360推广 网站建设舟山手机网站建设
  • 徐州做企业网站广州seo做得比较好的公司
  • 平面设计接单的网站排版设计是什么
  • 温州做网站哪里好软件定制是什么意思
  • 贵州建设职业技术学院报名网站郑州男科医院十大排名
  • 有了网址可以建网站吗网络营销是做什么工作
  • 云南哪几个建网站公司利用模板做网站
  • 岳阳做网站电商平台站内推广有哪些
  • 动漫一级a做爰片免费网站深圳做网站-信科网络
  • 中国城乡住建部建设部网站网站建设与管理维护的答案李建青
  • 江苏高效网站制作公司wordpress 同分类评论调用
  • 制作公司网站需要购买域名和服务器吗wordpress 上传图片发生错误
  • 查不到网站备案外贸网站建设是什么意思
  • 珠海网站建设品牌策划qq浏览器官网
  • 专业团队高端网站制作网站开发文档撰写模板
  • 注册完域名怎么做网站陕西网站建设的目的
  • dw软件做的网站怎么发到网上网店代运营有哪些
  • 长沙网站建设要多少钱潍坊专业做网站公司
  • 网站工程师简历有限责任公司和有限公司的区别
  • 学做网站论微信恢复官方网站
  • asp.net网站建设论文用wordpress制作网页的思路
  • 经典企业网站欣赏查做外贸客户的网站
  • 学网站建设需要什么软件有哪些公司网站是做的谷歌的
  • 徐州做网站的公司有哪些为什么辽宁省城乡建设厅网站打不开
  • 福州 网站建设百度快照没有了用什么代替了