跳至主要內容
"关于Spring-statemachine的一些看法"

"关于Spring-statemachine的一些看法"

我们需要有状态的状态机么?

昨天和今天再一次翻看了一下Spring-Statemachine项目的最新进展, 上一次看这个项目的文档还是几年前。 之所以之前关注这个项目主要有2个原因吧,第一个就是spring的project一般比较有质量保证,第二个是状态机本身是一个用途非常广泛的架构设计。所以这个项目一直让我 惦记着。


xkrivzooh大约 3 分钟postspringjava系统设计
集群调用容错的套路

集群调用容错的套路

在日常的工作和系统设计中,我们经常会使用RPC调用,而我们所部署的服务一般也都是集群模式。我们知道在分布式系统架构中,因为有很多的可能性,比如服务发布重启,网络抖动等问题,都可能会导致RPC调用失败,一般情况下我们的集群调用设计都需要有一定的容错策略。本篇文章就总结一下常见的集群调用容错套路:

  • Failover Cluster
  • Failfast Cluster
  • Failsafe Cluster
  • Failback Cluster
  • Forking Cluster
  • Broadcast Cluster

xkrivzooh大约 2 分钟post中间件系统设计
如何设计密码重置功能

如何设计密码重置功能

密码重置功能或者说密码找回功能是互联网行业的一项基本功能,本篇文章主要总结一下完成这个功能需要注意的一些点,主要遵循以下几条原则:

  • 密码要「安全的」存储,我个人一般推荐bcrypt加密算法,当然PBKDF2scrypt也很不错。
  • 密码找回功能,不能告诉用户原来密码,而是应该让用户重置密码。
    • 尽量不要采用预先分配一个密码,然后告诉用户这个初始密码再让用户去修改的办法。
    • 而是应该发给用户一个有时效性的链接,让用户在规定的时间内,通过这个连接来重置密码。
    • 避免前后端明文传递密码
  • 密码找回的时候,因为需要知道找回谁的密码,所以需要一个身份标识,一般建议采用邮箱或者手机号,需要注意的是,无论这个身份是否存在,都不能页面提示 这个身份是否存在,避免被扫描。而是应该无论用户输入邮箱还是电话,都正常发验证码。如果用户瞎填,他自然收不到验证码。建议在邮件内容中提示是正在重置xxx网站的密码。
  • 同时为了避免机器人,在重置密码提交form时需要增加验证码环节
  • 尽可能让用户在正确填写验证码以后,在验证一下一些问题。比如一些用户提前设置的问题,如果没有的话,可以根据具体的业务,比如登录地点,上次登录时间,xxx是你的朋友么等等的问题。

xkrivzooh大约 2 分钟post系统设计
打赏
给作者赏一杯咖啡吧
您的支持将是我继续更新下去的动力
微信微信
支付宝支付宝