SpringCloudGateway

网关的作用:请求的路由、授权、日志、限流
常用的网关组件:zuul、Kong、OpenRestry(Nginx+lua)
spring官方提供的组件,为了取代zuul
使用的技术:Spring webflux、reactor

链路监控:
开源技术:Zipkin、Pinpoint、CAT、skywalking
spring cloud sleuth 链路监控
结合zipkin实现traceid链路追踪

统一登陆实现
IPHASH
HASH算法
MD5、SHA-1、SHA-256
应用场景:软件包的签名; HS256/RS256
分表场景:1000W的数据,分成10个100W,分片键:HASH(ID)%10 ={1,10}
如果数据量增长过快,需要扩容到100个表,HASH(ID)%100
影响:需要对原来的数据进行整体的迁移。
一致性hash算法
hash环

集群模式下的会话统一:
Session复制
Session信息的统一存储
Access_Token(携带有效信息):Auth2.0、JWT(Json Web Token)
JWT的组成:
head
{
“alg”:“HS256”, 算法
“typ”:“JWT”
}
payload

signature

根据算法生成access-token,用户登陆后返回到客户端,客户端再次访问时对携带的access_token进行校验。

全局id

全局id的实现方式:
1、UUID,32个字符,4个横线
UUID.randomUUID.toString();
基于时间的UUID(time&MAC)
UUID(time&POSIX UID/GID)
随机数的UUID
UUID(SHA1)
字符类型,无序,不适合做数据库索引。
2、数据库

create table sequence(
 id int auto_increment
 b_id int unique_key
)

begin 
replace into sequence(b_id) values();
select LAST_INSERT_ID();
commit;

3、redis、mongdb
increBy/incr
ObjectId

全局ID的要求

(1)全局weiyxing
(2)有序的递增性
(3)高可用性
(4)时间上的特性(最好可以通过id看出数据时间)

雪花算法

snowflke-64bit
首位不用+41bit(时间戳)+10bit(工作机器id)+12bit(序列号)

美团leaf

你可能感兴趣的:(数据库)