系统架构面试题(4)开源软件
Nginx是一款高性能的HTTP和反向代理服务器,能够选择高效的epoll、kqueue、eventport最为网络I/O模型,在高连接并发的情况下,能够支持高达5万个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。Redis是一款开源的内存数据结构存储,用作数据库、分布式缓存、消息中间件,支持多种数据结构。Redis内置了主从复制、事务以及不同级别的持久化功能,并通过Sentinel和自动分区的Cluster提供了高可用性。
Nginx是一款高性能的HTTP和反向代理服务器,能够选择高效的epoll、kqueue、eventport最为网络I/O模型,在高连接并发的情况下,能够支持高达5万个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。Redis是一款开源的内存数据结构存储,用作数据库、分布式缓存、消息中间件,支持多种数据结构。Redis内置了主从复制、事务以及不同级别的持久化功能,并通过Sentinel和自动分区的Cluster提供了高可用性。
如何保证缓存与数据库的数据一致性;如果只要数据最终一致性,该怎么做呢;为什么是删除缓存,而不是更新缓存;如果删除缓存失败了,怎么解决?
分布式锁的实现方案;主从模式下节点宕机可能导致锁失效,Redission怎么解决的;说说Redlock算法的原理;Redlock算法有什么缺点吗;
说说你们的分布式ID设计方案;Snowflake算法有什么缺点;UUID不是更简单吗,为什么不用;Snowflake算法的ID太长了,有没有更短的方案;采用Redis方案的缺点是什么。
你们的项目Redis做了集群部署吗;Redis Cluster有什么缺点吗,或者说不适合什么场景;Redis Cluster的集群分片原理是什么。
如何保证Redis高可用和高并发;Redis高可用方案具体怎么实施;你能说说Redis哨兵机制的原理吗;部署Redis哨兵要注意哪些问题;Redis主从架构数据会丢失吗;Redis主从复制的工作原理