浅析负载均衡的 6 种算法,Ngnix 的 5 种算法。
常见的几种负载均衡算法1、轮询法 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。 2、随机法 通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数增多, 其实际效果越来越接近于平均分配调用量到后端的每一台服务器,也就是轮询的结果。 3、源地址哈希法 源地址哈希的思想是根据获取客户端的IP地址,通过哈希函数计算得到的一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。 4、加权轮询法 不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。 5、加权随机法 与加权轮询法一样,加权...
10年老兵给程序员的 10 条建议!
程序员虽然薪资待遇好,但是也得付出努力,技术好才行。特别是对于刚刚进入编程工作的新手程序员和正在学习编程的同学来说,一写代码就报错,出bug。作为一个工作了10年+的老兵,总结了下面10条建议送给程序员。 1. 想清楚,再动手写代码刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌! 2. 不交流,就会头破血流不爱说话和沟通,需求都理解错误了,最后做出来才发现,只能加班返工。 3. 文档没人看,但还是要写文档的作用大部分时候不是用来沟通的,是用来做记录的,大部分需求还是通过口头沟通,但是不写文档做记录,后续就容易扯皮。 4. 一定要写注释时间久了,你会连自己的代码都看不懂。 5. 别指望需求会稳定产品需求是根据商业需求不断调整的,改需求是再正常不过的事,别抱怨。 6. 业务高于技术如果技术不为公司商业做服务,那将毫无价值,公司赚钱才是硬道理。 7. 不要心存侥幸你隐约感觉会出bug的地方,就一定会出bug。 8. 自己先测几遍不要写完就扔给测试人员去测,经自己手的东西,要保证质量。 9. 尽可能自己解决问题遇到不懂的问题,要先尽力解决,别...
递归算法介绍及 Java 应用实战
什么是递归算法递归算法是把问题转化为规模缩小了的同类问题的子问题,然后递归调用函数(或过程)来表示问题的解。一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数)。 递归过程一般通过函数或子过程来实现。递归方法:在函数或子过程的内部,直接或者间接地调用自己的算法。递归其实就是在栈内存中不断的加载同一个函数 什么时候用递归呢?当一个功能被重复使用,而每一次使用该功能时的参数不确定,都由上次的功能元素结果来确定。 递归的注意事项 必须有可最终达到的终止条件,否则程序将陷入无穷循环出现栈内存溢出错误(StackOverflowError); 子问题在规模上比原问题小,或更接近终止条件; 子问题可通过再次递归调用求解或因满足终止条件而直接求解; 子问题的解应能组合为整个问题的解。 递归实战下面用递归来实现从1+2+3+…N的小例子。 public static void main(String[] args) { System.out.println(sum(10)); } private static int sum(int n)...
IG赢了,微博挂了
太牛逼了,666,IG赢了,恭喜IG…… 被 IG 拿下英雄联盟总冠军的消息刷屏了,栈长也被 IG 圈粉了。 同时,我们的老大哥微博又挂了。。 英雄联盟,真是满满的都是青春,满满的情怀啊,虽然栈长以前一直是个菜鸡。。 英雄联盟经历了 8 个赛季,中国队第一次登顶总冠军,还是二号种子 IG 战队(创始人:王思聪)。 虽然栈长很久没玩英雄联盟了,甚至过去都很少看比赛,但唯独今年,看了比过去所有看比赛的时间还有多……从小组赛进 8 强,再到 4 强,再到现在 IG 登顶总冠军,栈长真是追了一个月。。。 国内头号种子 RNG 战队,被 G2 屌打没进 4 强后,栈长就真气的不想看了,不过还是坚持看下来了,谢谢 IG,谢谢王校长! FNC是欧洲第一强队,本次比赛,栈长和朋友打赌 IG 会输。因为之前在小组赛就输给了 FNC,所以 IG 赢的概率很小,最后,栈长输了 200 块。。不过,还是很开心,内心还是希望 IG 赢的。 IG 赢了之后,栈长的朋友就说王思聪肯定给 IG 打了鸡血,画了很多大饼。不管怎样,IG 不胜众望,拿到了国内第一个 LOL 总冠军,以 3:0 零封 FNC,最小的战...
一个程序员的国庆血泪相亲史,惨败而归…
没错,这个程序员就是博主我。 伴随着国庆往返的大军,博主我也踏上了幸福的回家之路。 这不,刚下火车,父亲大人就来接我了。在车上,还有另外一个陌生的阿姨(媒婆),我才得知,要去的目的的不是自己家,而是一个女孩的家,没错,就是被安排了相亲,半路杀出了个程咬金。。 首先,我的心情是兴奋紧张不安的,兴奋的是终于有希望结束自己多年的青铜单身男了,而紧张不安的是,不知道对方女孩是怎样的人,要是没话题聊就尴尬了。 很快,车就到了女孩的楼下,就在市区某学校附近的一个小区内。晚风拂袖,小区很老,在这个县级市内格外显得神秘。上楼前,父亲塞给我两包烟,说到时候见到男人就发烟。父亲知道我是不抽烟的,但这个礼节不能丢。 随着电梯来到五楼,门没有关,室内只有两人,便是女孩的父母。媒婆亲切地前去打招呼,并向众人介绍我和父亲,我连忙发烟,并示好,然后老实地坐下。 然后媒婆开始介绍我的情况,说我是大学生,又是大城市回来的,做电脑的精英人才,工作稳定,工资 X 万一个月,人听话懂事,反正是各种好话,说得我都快迷上自己了。 接着,媒婆问怎么不见女孩本人,是不是不在家。女孩父亲叫了一声,才见她缓慢从房间出来,略带羞涩地...
为什么公司宁愿 25K 重新招人,也不给你加到 20K?
年底了,还有几天就要过年了,年后必定又是一波跳槽季,我们为什么要跳槽,为什么公司不能满足我们加薪的需求? 说到这个话题,想必从事码农的各位都清楚的一个道理:工资都是跳出来的,其他行业我不太清楚,但在 IT 行业,这是铁定的事实。公司即使加薪,也只是普调、阳光普照、雨露均沾而已,特别人、特别岗位除外。 有时候你可能真不想跳槽,被迫离开公司,你可能在公司干得非常好,工作很开心,同事关系也不错,但人都是要往上走的,都是要吃饭的,工作是为了啥,肯定不是为了情怀,而是为了让自己和家人有更好的生活。 所以,今天栈长和大家来聊聊这个尴尬的话题: 为什么公司宁愿 25K 重新招人,也不给你加到 20K? 1、成本 因为成本原因,公司很少会主动给员工加薪。 比如你现在 15K,给你调到 20K,你上面、上上面的管理层可能要调的就更多,进而所有的人都会要调,给公司带来的成本不是一个小数目; 2、换血 老员工在公司有一定时间了,可以说是老油条了,虽然对公司整体业务非常熟悉,但整体是缺乏积极性和创造力的,末尾淘汰原则,这时候公司会利用这个来淘汰一批可有可无的老员工,从而引进一些更优质的新鲜血液,提高...
从 0 开始搭建一个技术博客,私藏干货~
技术博客的选型有很多种,如:博客园、CSDN、开源中国、简书、知乎等……都可以用来写文章,形成自己的技术博客。 上面的博客都是第三方的,有没有方式搭建自己的服务器、自己的域名的博客呢?栈长知道的成熟方案有:WordPress, Hexo 等,栈长的博客就是用 Hexo 搭建的。 今天分享一下,如何从 0 开始搭建一个自己的技术博客,基于栈长的 Hexo 博客。 为什么选用 Hexo ?Hexo 是一个快速、简洁且高效的博客框架,利用 Markdown 即可自动生成静态网页。 官网:https://hexo.io/ 1)超快速度 Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染。 2)支持 Markdown Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多数插件。 3)一键部署 只需一条指令即可部署到 GitHub Pages, Heroku 或其他网站。 4)丰富的插件 Hexo 拥有强大的插件系统,安装插件可以让 Hexo 支持 Jade, CoffeeScript。 以上来自 He...
年底了,是时候做个了断了。。。
时间总是过得太快,2018年又离我们远去了。 先来看下我们的年度报表吧: 单从发文数量来看,就能看出这是一个干货满满的公众号了,同时也清楚的看到了栈长这一年的辛勤默默付出。。。 下面是 2018 年详细的数据统计。 年度推文 480+ 篇年度公众号累计推文共 483 篇,其中包含原创文章 150+ 篇,365 天更是无中断推送,栈长没有功劳,也是有苦劳的。 大家可以翻看历史记录或者点击公众号菜单中「精选」菜单,栈长已经归类整理好了。 年度阅读 250W+ 次年度公众号推文累积阅读共 2,589,029 次,包含头条、次条阅读。其中,最高的文章阅读数达到 22,000+,上万阅读的更是多不甚数。 年度点赞 8K+ 次年度公众号推文累积点赞数共 807,3 个,大家总不喜欢给栈长点赞,写文章花了半天时间,到头来点赞数寥寥无几,甚是心寒。点赞数虽然不会有直接经济效益,但却是给作者最大的鼓励,2019 拜托各位老铁多点一下「好看」,能突破 1W+,这样我写文章就更有劲了。 累积粉丝破 10W+ 人年底,12月份,公众号累积粉丝终于突破 10W+,通过后台分析,大多来自北上广深杭,其中北...
服务高可用:幂等性设计
什么是幂等性?一般在服务调用时,读服务如果调用失败了,会自动按配置次数转移到别的服务上去请求。而写服务就不能重复请求,如果因为超时或者网络故障等原因被调用服务并没有返回成功的响应,服务调用方就认为是失败了,但很有可能的是已经成功了,如果继续重复请求写服务,如转账类的服务,可能会造成严重的后果。所以,写服务失败不能设计成继续发重复请求,被调用服务也要设计幂等性,即使重复请求,也不会造成影响。 知道上面的背景,所以,幂等性就是同样的参数,重复请求相同的服务,必须得到相同的结果。 幂等性设计举一个支付的场景,请求一个第三方支付接口发起支付功能,同样的订单号,同样的金额信息,返回的都是成功。同样的订单号,不同的金额信息,返回的是订单号重复。这就是幂等性设计,第三方支付效验了请求参数和已有数据库的信息一致时直接返回已有的成功数据,如果数据不一致而又订单号重复直接报订单号重复。而如果不做幂等性设计,同样的订单号,同样的金额信息,重复支付,可能会造成金额累加。为了服务友好性,同样的订单号同样的金额信息返回订单号重复也是不友好的。 有些服务天生就具有幂等性,如修改用户邮箱、性别等,不管你重复请求...
微博什么技术啊……还说支持八个明星并发出轨,结果…
是的,大家可能都知道了,女神张靓颖结婚了。。 我去,写错了,是————赵丽颖。 为什么我头脑一瞬间出现的是张靓颖,作为一个码农,技术宅,拼音缩小都是 ZLY,博主我真有点傻傻分不清楚了。。 我也是昨天吃午饭时通过某 APP 首页新闻看到的,几乎所有的媒体都在报道,现在互联网这么发达,想不知道都不行啊。 消息一出,同事们和网友们都炸了,为了求证,博主特意去了趟微博,看到了榜单《官宣》。。女神依然很美,可这位男主角呢?让博主我有点意外啊,对他真不太熟。。 女神就是女神,微博一发,由于巨大的流量同时涌入微博,造成了微博服务器陷入瘫痪,有的网友表示打开微博巨卡,有的网友搜索关键字赵丽颖显示网络异常,有的网友点击照片打不开等各种网络故障问题。。。 不过,由于博主下班时间才去看,服务器已得到修复,并没有发现以上的问题,所以可以点开看到了。 来,上高清图。 说到微博服务器经常瘫痪的问题,一直是个埂,饱受诟病。 不是说微博可以同时应对三个明星出轨吗?就在去年 10 月 8 号那天,鹿晗公布恋情时后就崩溃了。事后,工程师扩容整改,又宣称可以同时并发支持八个明星出轨,可结果呢? 其实这也不...
