当前位置:首页 > 短网址资讯

短网址程序在多服务器组负载均衡系统中遇到的问题

www.ft12.com7年前 (2018-09-17)短网址资讯3218

由于短网址业务量的逐渐增大,原有的服务器系统负载已经接近极限。为了更好的满足用户的需求,FT12短网址有新增了两台服务器,和原有的一台服务器组成负载均衡系统。前段任何一条短网址的访问,都会先经过负载均衡服务器,然后再随机转发给后台的任意一台服务器处理。这样就能有效的提升短网址的稳定性和快速访问。但经过一段时间的使用,发现了有些致命的缺陷。

用户A生成一条短网址,这个请求被随机转发到后台的任意一台服务器。然后这台服务器再链接数据库,获取短链接代码,最后进行插入操作。这个逻辑看似没有什么漏洞,但是每次在网站访问高峰期,就会发生一个逻辑上的bug。那就是用户B也在这个时候生成一条短网址,这个请求被转发到了另一台后端服务器B,那么这个时候服务器B也会连接数据,获取短网址代码,然后再插入数据库。那么,问题来了。这个时候,用户A和用户B很有可能再链接数据库时,获取了相同的短网址代码,而短网址代码(CODE)在数据库中是唯一的,其中必然会有一个用户的数据库插入操作会以失败告终。这大大影响了用户的正常使用体验。为了解决这个问题,我们阐释了很多种方法。

11.PNG

上图是我们最终的解决方案。对服务器的数据库操作使用了try函数,如果插入数据库不成功,则重新获取短网址代码,然后再次进行插入。这样的逻辑设计很好的解决了负载均衡下,短网址的生成成功率极大的提升了。

扫描二维码推送至手机访问。

版权声明:本文由短链接发布,如需转载请注明出处。

本文链接:https://www.ft12.com/article_544.html

分享给朋友:

相关文章

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址教你如何利用大数据算法定位网站性能瓶颈(BOSS)

FT12短网址资讯:架构师非常关注性能问题,上篇文章中我们介绍了京东的自动化压测体系 ForceBot,这篇文章来自 LinkedIn 的技术博客,介绍如何通过大数据算法来分析调用数据,自动定位性能瓶颈。本文由高可用架构翻译。背景我们 FT…

简单高效的短网址生成服务C#实现

简单高效的短网址生成服务C#实现

项目中有一处需求,需要把长网址缩为短网址,把结果通过短信、微信等渠道推送给客户。刚开始直接使用网上现成的开放服务,然后在某个周末突然手痒想自己动手实现一个别具特色的长网址(文本)缩短服务。由于以前做过socket服务,对数据包的封装排列还有…

他45岁成中国最富二当家,净资产超宗庆后、郭台铭,却异常低调!

在《福布斯》日前发布的《2017年华人富豪榜》上,已从腾讯退休3年的张志东,以84亿美元的净资产位列第19位,排名超过台湾的郭台铭、大陆的宗庆后,也是榜单前20位中唯一的“二当家”。而今年,他才不过45岁。作为腾讯第二号人物张志东,腾讯产品…

域名解析实践——HTTPDNS

几乎一切需求网络连接的使用都会依赖域名体系(Domain Name System,DNS)。域名解析效劳一般作为一次网络连接的先导,将人们便于记忆的计算机名称解析成计算机合适处理的网络地址。因而DNS安稳效劳是上述网络使用正常运转的条件,地…

干货:创业公司没钱没资源怎么做品牌推广?

干货:创业公司没钱没资源怎么做品牌推广?

通常情况下,公司在刚刚起步时,创业者们的首要任务即是做品牌宣扬,让更多的人重视公司、重视自个的品牌是这个期间的首要作业方针。但比较于现已安稳下来的公司,创业公司在资金、人力、客户源等根底资本上都还不充足,在推行的过程中也极简略呈现后劲不足的…

PHP编程需要掌握的20个要点,能极大提高效率

PHP编程需要掌握的20个要点,能极大提高效率

[摘要] 用单引号取代双引号来包括字符串,这样做会更快一些。由于PHP会在双引号包抄的字符串中征采变量,单引号则 不会,留意:只要echo能这么做,它是一种能够把多个字符串看成参数的“函数”用单引号取代双引号来包括字符串,这样做会更快一些。…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。