1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Merge pull request #2127 from JacketFu/main

update message-queue.md
This commit is contained in:
Guide 2023-08-09 22:25:35 +08:00 committed by GitHub
commit 090a1091b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 1 deletions

View File

@ -125,7 +125,7 @@ JMS 定义了五种不同的消息正文格式以及调用的消息类型,允
![发布/订阅Pub/Sub模型](../images/message-queue/message-queue-pub-sub-model.png) ![发布/订阅Pub/Sub模型](../images/message-queue/message-queue-pub-sub-model.png)
发布订阅模型Pub/Sub 使用**主题Topic**作为消息通信载体,类似于**广播模式**;发布者发布一条消息,该消息通过主题传递给所有的订阅者**在一条消息广播之后才订阅的用户则是收不到该条消息的** 发布订阅模型Pub/Sub 使用**主题Topic**作为消息通信载体,类似于**广播模式**;发布者发布一条消息,该消息通过主题传递给所有的订阅者。
### AMQP 是什么? ### AMQP 是什么?

View File

@ -168,6 +168,7 @@ Session-Cookie 方案在单体环境是一个非常好的身份认证方案。
1. 某个用户的所有请求都通过特性的哈希策略分配给同一个服务器处理。这样的话,每个服务器都保存了一部分用户的 Session 信息。服务器宕机,其保存的所有 Session 信息就完全丢失了。 1. 某个用户的所有请求都通过特性的哈希策略分配给同一个服务器处理。这样的话,每个服务器都保存了一部分用户的 Session 信息。服务器宕机,其保存的所有 Session 信息就完全丢失了。
2. 每一个服务器保存的 Session 信息都是互相同步的,也就是说每一个服务器都保存了全量的 Session 信息。每当一个服务器的 Session 信息发生变化,我们就将其同步到其他服务器。这种方案成本太大,并且,节点越多时,同步成本也越高。 2. 每一个服务器保存的 Session 信息都是互相同步的,也就是说每一个服务器都保存了全量的 Session 信息。每当一个服务器的 Session 信息发生变化,我们就将其同步到其他服务器。这种方案成本太大,并且,节点越多时,同步成本也越高。
3. 单独使用一个所有服务器都能访问到的数据节点(比如缓存)来存放 Session 信息。为了保证高可用,数据节点尽量要避免是单点。 3. 单独使用一个所有服务器都能访问到的数据节点(比如缓存)来存放 Session 信息。为了保证高可用,数据节点尽量要避免是单点。
4. Spring Session 是一个用于在多个服务器之间管理会话的项目。它可以与多种后端存储(如 Redis、MongoDB等集成从而实现分布式会话管理。通过 Spring Session可以将会话数据存储在共享的外部存储中以实现跨服务器的会话同步和共享。
## 如果没有 Cookie 的话 Session 还能用吗? ## 如果没有 Cookie 的话 Session 还能用吗?