首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈分布式系统的一致性协议(一)

我们在Mysql系列文章中已经介绍过,我们常用的InnoDB存储引擎是支持事务的。这里所说的事务由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元。事务保证了这一组操作要么都成功,要么都失败;并且事务提交之后,数据不会丢失。总结下来就是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),即ACID四个特性。这种事务是针对单个数据库的,数据库底层只是在单个计算机内部通过一系列机制实现了ACID特性,不需要与其他外部数据源进行交互。从系统架构上划分,这属于集中式系统架构,这也符合早期做的传统软件项目的特点,没有负载均衡,都是单机运行,而数据库也是单台,只是做数据库备份,在主库宕掉时,切换到从库即可。

03

谈一谈分布式会话

会话Session代表的是客户端与服务器的一次交互过程,这个过程可以是连续也可以是时断时续的。曾经的Servlet时代(jsp)),一旦用户与服务端交互,服务器tomcat就会为用户创建一个session,同时前端会有一个jsessionid,每次交互都会携带。如此一来,服务器只要在接到用户请求时候,就可以拿到jsessionid,并根据这个ID在内存中找到对应的会话session,当拿到session会话后,那么我们就可以操作会话了。会话存活期间,我们就能认为用户一直处于正在使用着网站的状态,一旦session超期过时,那么就可以认为用户已经离开网站,停止交互了。用户的身份信息,我们也是通过session来判断的,在session中可以保存不同用户的信息。session的使用之前在单体部分演示过,代码如下∶

00
领券