扫码登录实现及服务器集群环境下精准推送解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扫码登录实现及服务器集群环境下精准推送解决方案相关的知识,希望对你有一定的参考价值。

又是新的一年,其实我心有那么一丝期待,因为每一年都会有新的进步,比如技术方面呀,与同事的沟通方面呀等等,这篇文章就是总结一下上一年我做的扫码登录功能的一些经验。
        估计大家肯定在电脑上登录过微信,中间有一步在手机上点确定登录的操作,点完之后电脑上的微信就自动登录了,看上去挺屌的,但知道具体怎么实现后你就会觉得也就那样。另外,文章标题上什么“推送解决方案”,方案肯定谈不上,不过这词可以用在简历上,用来唬下面试官还是可以的,因为面试官一看你简历上写着“在公司提出了什么什么的解决方案”,他肯定会想:卧槽,这大兄弟估计了不得,在以前公司肯定担当着比较屌的角色吧 。
        以前我从来没做过类似的功能,不过老板提出了这需求,刀山火海也绝逼只能硬着头皮上了,中间的曲折在着里就不逼逼了,下面步入正题
        
        补充:分布式与集群的区别(个人理解)
                相同点:都是应用在一坨服务器里跑着
                不同点:分布式是将不同业务逻辑部到了不同的服务器上,而集群其实就是一个项目部到了一堆服务器上,那这样看来分布式系统一定是服务器集群环境,但服务器集群环境下的应用不一定是分布式,纯粹个人理解哈。。。。

        先看非服务器集群环境下推送的实现原理,我画了一个图,这图把原理大致都描绘了出来,一些程序实现的细节那只有自己动手亲自去实践了,当然了,你也可以找个优盘,然后在我和你脑袋上开个USB接口,然后通过优盘把我脑瓜子里的东西拷过去,这样也可以,完全没问题,只要你有这技术,我脑瓜子给你留着,不过要真有这技术的话,我tm肯定先把盖茨的脑瓜子拷一份过来。。。。。。。。

技术分享

下面是分布式环境下的实现原理,在看服务器集群的实现逻辑之前一定要把上面非服务器集群的逻辑理解,因为我在画服务器集群实现图的时候是假设你已经把非服务器集群的图理解了,故有些描述会没有上面图描述的详细,另外,这里大家要了解上面非服务器集群的实现方法在集群环境下会出现什么问题,例如有一登录入口为http://test1:8080/login.action的web应用,该应用有三台web服务器支撑,分别是Server1、Server2、Server3,中间用nginx来进行请求分发,用户A访问 登录,该登录请求被分到了Server1服务器里,其轮询监听也必然会监听Server1,然后用户A开始扫码,接着用户A开始在手机上操作登录,注意,手机与电脑是两个中间没有任何媒质物理设备,问题出来了,用户A在手机上发出的确定登录请求可能会被nginx分到Server2,而前面用户A访问的PC端端页面http://test1:8080/login.action监听的是Server1,这样用户等到驴年那PC端的页面也绝逼不会登录。

技术分享

当然啦,肯定也有其他更牛逼的实现方法,我在这也就是抛了块砖。。。
成功案例
www.wodexiangce.cn    我的相册网
www.qiyinwang.com.cn    企印网












以上是关于扫码登录实现及服务器集群环境下精准推送解决方案的主要内容,如果未能解决你的问题,请参考以下文章

PHP 实现扫码二维码登录

PHP 实现扫码二维码登录

JAVA 实现扫码二维码登录

Websocket 实现扫码二维码登录

Ruby 实现扫码二维码登录

C# 实现扫码二维码登录