问下网站的经过邮箱重置密码功能的设计
问下网站的通过邮箱重置密码功能的设计
网站活跃用户大概20W左右,现在要加入忘记密码的功能,通过邮箱重置,(不知道一般的这个功能请求频繁不)
目前我想到的有2种方式
1:通过消息队列的方式
2:一个请求来了起一个异步线程的方式
这2种方式我说下优缺点:
1这种方式就是用户的邮件有很可能不能及时收到,我看一般的用户忘记密码通过邮箱几分钟不到就收到了,优点就是可以通过有界队列舍弃掉部分请求,不至于宕机。
2这种方式就可以用户请求量大了,起的线程太多,有很大可能宕机,优点就是,及时性一般要比队列的方式好
求有经验的大神告诉下,不胜感激!
------解决思路----------------------
采用策略模式来设计, 两种方式都有, 智能匹配策略, 根据当前请求负载决定调用那种方式.
------解决思路----------------------
一个服务器起一个异步线程 不停的发就好了,很简单的功能,毕竟你才20w活跃
------解决思路----------------------
可以综合一下 来一个起一个线程 然后记录当前起了多少线程 设置一个最大值
一般来说 这个忘记密码的同时使用的人不会太多的
------解决思路----------------------
20万的活跃用户, 感觉用线程池也是可以的, 如果是20万在线用户的话, 估计就得考虑队列了
网站活跃用户大概20W左右,现在要加入忘记密码的功能,通过邮箱重置,(不知道一般的这个功能请求频繁不)
目前我想到的有2种方式
1:通过消息队列的方式
2:一个请求来了起一个异步线程的方式
这2种方式我说下优缺点:
1这种方式就是用户的邮件有很可能不能及时收到,我看一般的用户忘记密码通过邮箱几分钟不到就收到了,优点就是可以通过有界队列舍弃掉部分请求,不至于宕机。
2这种方式就可以用户请求量大了,起的线程太多,有很大可能宕机,优点就是,及时性一般要比队列的方式好
求有经验的大神告诉下,不胜感激!
------解决思路----------------------
采用策略模式来设计, 两种方式都有, 智能匹配策略, 根据当前请求负载决定调用那种方式.
------解决思路----------------------
一个服务器起一个异步线程 不停的发就好了,很简单的功能,毕竟你才20w活跃
------解决思路----------------------
可以综合一下 来一个起一个线程 然后记录当前起了多少线程 设置一个最大值
一般来说 这个忘记密码的同时使用的人不会太多的
------解决思路----------------------
20万的活跃用户, 感觉用线程池也是可以的, 如果是20万在线用户的话, 估计就得考虑队列了