分布式(9)

目录

41.常见的JOB实现方案?

42.Cookie和Session有什么区别?

43.谈谈会话技术的发展?

44.分布式会话有哪些解决方案?

[45.什么是Session Stick?](#45.什么是Session Stick?)


41.常见的JOB实现方案?

基于上面Java任务演化出分布式Job方案:

quartz

JDBCJobStore 支持集群所有触发和Job都存储在数据库中无论服务器停止和重启都可以恢复任务同时支持事务处理

elastic job

elastic job是由当当网基于quartz二次开发之后的分布式调度解决方案,由两个相对独立的子项目Elastic Job Lite和Elastic JOB Cloud 组成。

Elastic Job Lite 定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。

Elastic Job Cloud使用Mesos+Docker(TBD)的解决方案,额外提供资源治理,应用分发以及进程隔离等服务

两点:

1.基于quartz定时任务框架为基础的,因此具备quartz的大部分功能

2.使用zookeeper做协调,调度中心,更加轻量级

3.支持任务的分片

4.支持弹性扩容,可以水平扩展,当任务再次运行时,会检查当前的服务器数量,重新分片,分片结束之后才会继续执行任务。

5.失效转移,容错处理,当一台调度服务器宕机或者跟zookeeper断开连接后,会立即停止作业,然后再去寻找其他空闲的调度服务器,来运行剩余的任务。

6.提供运维界面,可以管理作业和注册中心。

xxl job

一个轻量级分布式任务调度框架,主要分为调度中心和执行器两部分,调度中心在启动初始化的时候,会默认生成执行器的RPC代理

对象(http协议调用),执行器项目启动之后,调度中心在触发定时器之后通过jobHandle来调用执行器项目里面的代码,核心功能和elastic job差不多

42.Cookie和Session有什么区别?

Cookie和Session的方案虽然分别属于客户端和服务端,但是服务端的session的实现对客户端的cookie有依赖关系的,服务端执行session机制时候会生成session的id值,这个id值会发送给客户端,客户端每次请求都会把这个Id值放到http请求的头部发送给服务器,而这个id值在客户端会保存下来,保存的容器就是cookie,因此当我们完全禁掉浏览器的cookie的时候,服务端的session也会不能正常使用。

43.谈谈会话技术的发展?

单机 Session+Cookie

多机器

在负载均衡侧 Session粘滞

Session数据同步

多机器,集群,session集中管理,比如redis;目前方案上用的最多的是SpringSession,早前也有用tomcata集成方式的。

无状态token,比如JWT

44.分布式会话有哪些解决方案?

Session Stick

Session Replication

Session数据集中存储

Cookie Based

JWT

45.什么是Session Stick?

方案即将客户端的每次请求都转发至同一台服务器,这就需要负载均衡器能够根据每次请求的会话标识(Session ID)进行请求转发,如下图所示。

这种方案实现比较简单,对于Web服务器来说和单机的情况一样。但是可能会带来如下问题:

如果有一台服务器宕机或者重启,那么这台机器上的会话数据会全部丢失。

会话标识是应用层信息,那么负载均衡要将同一个会话的请求都保存同一个Web服务器上的话没救需要进行应用层(第7层)的解析,这个开销比第4层大。

负载均衡器将编程一个有状态的节点,要将会话保存到具体的web服务器的映射。和无状态节点相比,内存消耗更大,容灾方面也会更麻烦。

PS:为什么这种方案到目前还有很多项目使用呢?因为不需要在项目代码侧改动,而是只需要在负载均衡侧改动。

相关推荐
指尖下的技术14 分钟前
Kafka面试题----Kafka消息是采用Pull模式,还是Push模式
分布式·kafka
码至终章2 小时前
kafka常用目录文件解析
java·分布式·后端·kafka·mq
小马爱打代码3 小时前
Kafka-常见的问题解答
分布式·kafka
峰子20124 小时前
B站评论系统的多级存储架构
开发语言·数据库·分布式·后端·golang·tidb
weisian1514 小时前
消息队列篇--原理篇--Pulsar和Kafka对比分析
分布式·kafka
无锡布里渊4 小时前
分布式光纤应变监测是一种高精度、分布式的监测技术
分布式·温度监测·分布式光纤测温·厘米级·火灾预警·线型感温火灾监测·分布式光纤应变
40岁的系统架构师4 小时前
15 分布式锁和分布式session
分布式·系统架构
斯普信专业组4 小时前
云原生时代,如何构建高效分布式监控系统
分布式·云原生·prometheus
贾贾20234 小时前
主站集中式和分布式的配电自动化系统区别在哪里?各适用于什么场所?一文详解
运维·分布式·考研·自动化·生活·能源·制造
青灯文案18 小时前
RabbitMQ 匿名队列详解
分布式·rabbitmq