记项目中使用到的开源工具(长期维护)

项目背景:现项目主要是做关于机器人的调度系统,涉及到web端、移动端、小程序及服务端和实体机器人端;

迭代背景:设备演示界面需要展示设备当天所有的路径:历史路径+实时路径

记录方向:项目中使用到的工具,不是为了实现或者使用,主要用于测试过程中的对项目系统实现的了解;

记录时间:开始于20210119——长期维护

=================================================================

1、JWT

 2、FASTDFS

3、rabbitmq

4、miniO

=================================================================

 

1、JWT Token校验

1.1、JWT简介

JWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。

JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登录上。

1.2、JWT的构成

a、header部分

jwt的头部承载两部分信息:

  • 声明类型,这里是jwt

  • 声明加密的算法 通常直接使用 HMAC SHA256

完整的头部就像下面这样的JSON:

{

"typ": "JWT",

"alg": "HS256"

}

b、payload部分

payload即载荷,存放有效信息的地方;项目中使用的JWT认证payload部分存放的信息有:

{
"sn": "xxxxxxxxxxxx",
"exp": 1611923980,
"iat": 1610627980,
"jti": "tokenId"
}

c、signature部分

这个部分需要base64加密后的header和base64加密后的payload使用.连接组成的字符串,然后通过header中声明的加密方式进行加颜secret组合加密,然后就构成了jwt的第三部分;

 

2、FASTDFS

FastDFS是一个开源的轻量级的分布式文件系统。他解决了大量数据存储和负载均衡等问题。特别适合以中小文件(4KB < FileSize < 500MB)为载体的在线服务,如视频,音频,图片网站等等。
FastDFS是一款开源的轻量级分布式文件系统,他是由纯 C 实现,支持Linux,FreeBSD等UNIX系统类,不是通用的文件系统,只能通过专有的API访问,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。

2.1、在项目中的应用

该小工具主要是用于存储项目中的图片信息,存储方式为base64的流数据。最开始项目存储图片的方式直接是文件的形式,将图片上传文件服务器,保存方式为xxx.jpg等方式;

 3、rabbitmq

在网上找一篇关于rabbitmq的比较权威完善的一篇文章贴个链接地址在这儿:https://www.cnblogs.com/williamjie/p/9481774.html

 

备注:该文是长期更新的,主要是记录项目过程中使用到的小工具;

 

posted @ 2021-01-19 16:36  小菜鸡1枚  阅读(119)  评论(0)    收藏  举报