最新Java面试题及答案整理
3.session的持久化,使用数据库来保存session。就算服务器宕机也没事儿,数据库中的session照样存在。特点:每次请求session都要读写数据库,会带来性能开销。使用内存数据库,会提高性能,但是宕机会丢失数据(像支付宝的宕机,有同城灾备、异地灾备)。 4.使用共享存储来保存session。和数据库类似,就算宕机了也没有事儿。其实就是专门搞一台服务器,全部对session落地。特点:频繁的进行序列化和反序列化会影响性能。 5.使用memcached来保存session。本质上是内存数据库的解决方案。特点:存入memcached的数据需要序列化,效率极低。 二、分布式事务的解决方案: 1.TCC解决方案:try confirm cancel。 参考: 为什么说传统分布式事务不再适用于微服务架构? Session 分布式方案 1.客户端cookie加密。(一般用于内网中企业级的系统中,要求用户浏览器端的cookie不能禁用,禁用的话,该方案会失效)。 2.集群中,各个应用服务器提供了session复制的功能,tomcat和jboss都实现了这样的功能。特点:性能随着服务器增加急剧下降,容易引起广播风暴;session数据需要序列化,影响性能。 3.session的持久化,使用数据库来保存session。就算服务器宕机也没事儿,数据库中的session照样存在。特点:每次请求session都要读写数据库,会带来性能开销。使用内存数据库,会提高性能,但是宕机会丢失数据(像支付宝的宕机,有同城灾备、异地灾备)。 4.使用共享存储来保存session。和数据库类似,就算宕机了也没有事儿。其实就是专门搞一台服务器,全部对session落地。特点:频繁的进行序列化和反序列化会影响性能。 5.使用memcached来保存session。本质上是内存数据库的解决方案。特点:存入memcached的数据需要序列化,效率极低。 分布式锁的场景 比如交易系统的金额修改,同一时间只能又一个人操作,比如秒杀场景,同一时间只能一个用户抢到,比如火车站抢票等等 分布式锁的实现方案 基于数据库实现分布式锁 基于缓存实现分布式锁 基于Zookeeper实现分布式锁 参考: 分布式锁的多种实现方式 分布式事务 参考: 深入理解分布式事务,高并发下分布式事务的解决方案 集群与负载均衡的算法与实现 参考: 负载均衡算法及手段 说说分库与分表设计 参考: 分表与分库使用场景以及设计方式 分库与分表带来的分布式困境与应对之策 参考: 服务端指南 数据存储篇 | MySQL(09) 分库与分表带来的分布式困境与应对之策 如何排查与解决说说你对敏捷开发的实践 说说你对开发运维的实践 介绍下工作中的一个对自己最有价值的项目,以及在这个过程中的角色 五、软实力说说你的亮点 说说你最近在看什么书 说说你觉得最有意义的技术书籍 工作之余做什么事情 说说个人发展方向方面的思考 说说你认为的服务端开发工程师应该具备哪些能力 说说你认为的架构师是什么样的,架构师主要做什么 说说你所理解的技术专家 (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |