美文网首页technology-integration全面解析
technology-integration(一)---项目简介

technology-integration(一)---项目简介

作者: 海苔胖胖 | 来源:发表于2018-08-23 11:51 被阅读989次

简介

最近把个人所学会的技术都整合了一下,整合的都是一些常用的技术。男人就是要直接,码云项目地址:https://gitee.com/viu666/technology-integration

该项目为纯后端项目,不涉及任何前端技术,所以需要读者有一定的前后端分离思想。你问我为什么没有搞前端?毕竟男人就是要专一,[滑稽]要搞也是偷偷搞啊,我会告诉你?

技术

该项目以SpringBoot作为项目基础框架,整合的技术有:

  1. Spring Security
  2. Spring Retry
  3. Spring Mail
  4. JWT
  5. Mybatis
  6. Redis
  7. RabbitMQ
  8. Netty


功能

  1. 认证与授权采用SpringSecurity方案,只提供jwt认证方式
  2. 使用了双数据源进行数据读取,采用MySQL数据库
  3. 使用Redis缓存数据,Redis为单节点模式,后期可能会添加主从或集群模式
  4. 使用RabbitMQ搭建队列,由于没有业务逻辑,只是简单的发送消息到队列,以及实现常见的死信队列和监听等
  5. 使用Netty进行客户端通信,已实现完整的聊天功能
  6. 使用阿里云短信服务实现短信验证码功能
  7. 使用Redis对接口进行限流以及PV统计


聊天功能实现进度:

注意:客户端不要求必须使用Netty框架,传输字符即可

  1. 客户端与服务端建立socket连接后需要发送token至服务器进行socket的认证,认证后服务器会返回认证结果的消息
  2. 客户端A与发消息至客户端B时,需要验证socket连接是否已认证
  3. 客户端认证完成后,系统会读取Rabbit未读消息队列,如果存在未读消息则将消息发送至客户端
  4. A发送消息至B时,会先判断B是否在线,如果在线则直接将消息发送到B客户端,否则将消息缓存至未读队列中
  5. 消息发送完之后,系统会将消息存储到durable队列中
  6. 监听器监听到durable队列中有消息时,则会将该消息缓存至数据库中


短信验证码实现:

注意:短信验证码采用6位纯数字

  1. 客户端请求发送短信验证码,服务端会先进行判断该号码上次发送短信时间间隔是否大于2分钟
  2. 发送短信验证码成功后,会将短信验证码缓存到Redis中,方便下次验证
  3. 短信验证码的有效期为5分钟,利用Redis的过期功能实现


系统功能:
  1. 使用Redis进行接口限流,利用zset数据类型解决,具体参照代码
  2. 使用Redis统计系统请求PV量


这个算是方便自己以后复制粘贴代码用的吧,哈哈哈哈哈哈哈,可能不会详细的介绍某个技术,都说了叫整合嘛,你能拿我怎么办。整合方面会讲的详细些,项目里面不会有很具体的业务,尽量保证业务是比较完整的,如果有什么建议或者问题直接在简书发表就好了,想加扣扣啊,你找到我就给你加。

对了,编码软件用的是IDEA

更多文章请关注该 technology-integration全面解析专题

相关文章

  • technology-integration(一)---项目简介

    简介 最近把个人所学会的技术都整合了一下,整合的都是一些常用的技术。男人就是要直接,码云项目地址:https://...

  • 《做自己的精明投资人,优势跑道等你来!》分享\培训项目介绍

    目录 一、项目简介宣传海报 二、项目方案简介 三、个人简介 【一、简介宣传海报】 【二、项目方案简介】 一、背景:...

  • 项目简介

    这个项目是基于spark streaming的日志分析系统,每分钟提交一次job,统计一分钟内的日志信息,同时也需...

  • 项目简介

    登录 --- * 双向验证 * ajax提交表单(CSRF攻击) 注册 --- * 手机号和邮箱的验证 * 发送短...

  • 项目简介

    登陆 --- *双向验证数据 *ajax 提交表单(CSRF攻击) 注册 --- *手机号和邮箱的验证 *发送短信...

  • 项目简介

    登录 --- *双向验证数据 --

  • Deb打包教程

    部署-V1.0.0 安全带 项目手册 1.项目简介2.项目部署3.联系方式 一、项目简介 1.项目简介 二、项目部...

  • EOS项目简介

    项目介绍 EOS是Block.One公司开发的一款超高性能的类操作系统区块链,其设计目标是: 支持大量用户,可能是...

  • Talko项目简介

    Talko 是一个线上英语学习公众号,项目由《芒果科技》发起,吾心橙科技 参与共同合作开发的项目 项目测试地址: ...

  • vite项目简介

    Vite 是一个通用的去中心化应用平台,在兼顾安全性的同时,满足了工业级应用对高吞吐、低延迟和扩展性的要求。 Vi...

网友评论

    本文标题:technology-integration(一)---项目简介

    本文链接:https://www.haomeiwen.com/subject/xgypiftx.html