美文网首页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://www.haomeiwen.com/subject/xgypiftx.html