![](https://csdnimg.cn/release/download_crawler_static/87779772/bg3.jpg)
新工具:加入像是 Nashorn 引擎 jjs、 类依赖分析器 jdeps 的新的编译工具。
Stream API:可以把函数式编程风格引入到 Java 中。
4.jwt 优缺点
JWT 的全称是 JSON WEB Token。JWT 的声明一般被用来在身份提供者和服务提供者间传递
被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻
辑所必须的声明信息,该 token 也可直接被用于认证,也可被加密。
JWT 分层 3 部分 —— Header、Payload、Signature
(1)Header(头) 作用:记录令牌类型、签名算法等 例如:{“alg":"HS256","type","JWT}
(2)Payload(有效载荷)作用:携带一些用户信息 例如{"userId":"1","username":"mayikt"}
(3)Signature(签名)作用:防止 Token 被篡改、确保安全性 例如 计算出来的签名,一个
字符串
优点
无需服务器端存放数据,减轻服务器端的压力
占用带宽比较小、跨语言
token 自身包含用户信息且无法篡改,在服务(网关)中可以自行解析校验出用户信息,对
认证服务器(account-svc)压力小
缺点
建议不要放敏感数据 userid、手机号码(如果非要放 userId,deptId 等信息,可采用 rsa256
算法加密)RSA256 生成 JWT
JWT 生成之后无法修改(发生变化)
后端无法统计,生成 JWT
无法吊销令牌,只能等待令牌自身过期
令牌长度与其包含用户信息多少正相关,传输开销较大
5、分布式锁的实现方式
分布式锁是在单体架构搭建了集群或者是分布式微服务的项目中传统的 jvm 锁无法保证互
斥性的情况下需要去实现的一种锁机制,常见的实现方式有三种:
基于数据库实现分布式锁;--基于数据库的唯一索引实现,其具有天然互斥性,同一时间只
允许一个线程插入一条数据成功
基于缓存(Redis 等)实现分布式锁(AP)---通过 setnx 完成添加操作,只有 key 不存在时才
可以添加成功,存在的话添加失败。redis 也有客户端 redission 去实现分布式锁
基于 Zookeeper 实现分布式锁(CP)。---插入 znode 时要求 znode 唯一,并且 zookeeper 有专
门提供锁机制的客户端 curator 可以降低锁实现的成本