/wenda

模拟知乎的问答网站。技术栈:springboot+redis+mysql

Primary LanguageCSS

问答社区,模拟知乎

技术栈:springboot+redis+mysql

  • 用户 注册、登录功能,在数据库中保存用户状态
  • 用户访问控制、用户登陆后页面跳转,拦截器
  • 添加问题、添加评论功能,使用 TrieTee 过滤敏感词
  • 展示问题、评论,对问题关注、对评论点赞点踩
  • 完善异步处理框架
    • 定义 EventModel,不同的 Event 对应不同的 EventType,实现不同的 EventProcuder 和 EventHandler
    • EventHandler 实现 EventHandler 接口,在启动时自动注册,EventType-EventHandler 的mapping
    • 编写 EventModel 的生产 和 消费 统一入口,利用 redis 中的 list 作为消息队列
    • 一个线程监听 redis list,得到一个 EventModel后,分发给线程池,调用对应 EventHandler 的事件处理函数
  • 添加 feed流 逻辑,通过注册 EventHandler 来实现
  • 使用spring注解型事务,进行事务管理和回滚
  • 添加 redis 缓存 数据库数据,解决数据库、redis数据一致性问题
    • 用户登录ticket缓存
    • 用户信息user缓存