标签: 分布式

数据库面试题(5)MongoDB基础

数据库面试题(5)MongoDB基础

整理一些MongoDB面试题,MongoDB有哪些特点;MongoDB索引类型有哪些;在哪些场景使用MongoDB;MongoDB支持哪些数据类型;MongoDB中如何实现事务;MongoDB中如何实现分片(Sharding);如何使用MongoDB中的Map-Reduce;说说MongoDB常见的增删改查操作。

云计算术语大全

云计算术语大全

云计算诞生之初,市场上对它的定义有很多种。美国标准与技术研究院的定义是把云计算定义为一种模式,而不是一种技术。这种模式既可以是商业模式,也可以是服务模式。云计算通过互联网将计算和存储资源进行集中和共享,为用户提供各种计算服务、存储服务、应用服务等等。云计算可以分为三种服务模式:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。IaaS提供基础设施服务,如计算和存储资源;PaaS提供平台服务,如开发工具和中间件;SaaS提供软件服务,如企业应用和在线服务。

系统架构7个非功能性需求

系统架构7个非功能性需求

非功能性需求是什么呢?保障系统持续健康运转的辅助需求。依然以电商系统的优惠券为例,在促销活动期间发放大量优惠券,如何防止用户集中领券时系统不崩盘呢?活动结束后,如何收缩服务器,节省服务器资源呢? 非功能性需求是面向运维的,重要但是不太紧迫,有时候可以没有操作界面,由架构师提出解决方案,再推动各个业务开发部门去接入相应组件。这些辅助系统对业务系统性能影响很小,并且长期处于优化状态。

系统架构面试题(8)Redis集群

系统架构面试题(8)Redis集群

Redis是个KV内存数据库,支持多种数据结构、简单消息队列、磁盘持久化,特点是高性能、使用简单、稳定可靠。常见使用场景如下:(1) 数据缓存:客户端访问服务器的时候,先检查redis是否有数据,Redis有数据直接反馈给客户端;如果没有数据再请求数据库,查询数据后缓存到Redis,下次就可以直接读Redis。(2)分布式锁:微服务项目服务部署到不同的服务器上,单体架构的同步锁没办法锁住服务,利用Redis实现分布式锁,常用组件为Redisson。(3)数据共享:将包含用户信息的令牌存储在Redis中,用户每次访问时从Redis中查询令牌,实现资源的共享,即分布式Session。

Java面试题(14)- Spring Cloud

Java面试题(14)- Spring Cloud

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:你怎么描述Spring Cloud 框架;说说微服务架构的优缺点;Spring Cloud有哪些重要组件;Eureka的作用是什么;什么是Eureka的自我保护模式;你还了解其他网关吗,有什么区别;服务雪崩的原因有哪些。

Java面试题(11)- Dubbo框架

Java面试题(11)- Dubbo框架

整理一些Java基础面试题,内容涵盖语言基础、并发、JVM、IO模型、中间件、开发框架等等。本章节的面试题有:什么是RPC,RPC使用了哪些关键技术;Dubbo的使用场景和核心功能有哪些;Dubbo的集群容错方案有哪些;Dubbo服务器注册与发现的流程;Dubbo 的注册中心集群宕机,发布者和订阅者之间还能通信吗;Dubbo 支持哪些协议,它们的优缺点有哪些。

谈谈微服务的粒度

谈谈微服务的粒度

自从微服务的概念和应用流行起来之后,受“微”的影响,有些人认为微服务越小越好,这显然是极端的想法。任何架构设计都有优缺点,在合适的场景才能发挥更大的作用。明确粒度设计的上下限,是用好微服务的第一步。微服务的核心思想是“分治”,可以类比活字印刷术。每个字都有独立的印刷效果。坏掉的字可以被迅速替换,不影响其他字。

分布式系统架构理论与组件

分布式系统架构理论与组件

在计算机发展的早期,一直都是集中式计算,计算能力依赖大型计算机。随着互联网的发展,有些业务需要巨大的计算能力才能完成,而集中式计算无法满足要求,大型计算机的价格也非常昂贵。分布式计算将任务分解成更小的部分,分配给多台计算机处理,这样可以节约整体计算时间,大大提高计算效率。互联网大型网站往往面临高并发访问、海量数据处理等问题,必须保证系统高可用、易伸缩等等。分布式架构采用多台机器协同工作,动态伸缩容量,使用冗余节点来消除单点故障,提高系统可用性。

系统架构面试题(6)高并发设计

系统架构面试题(6)高并发设计

关系型数据库如MySQL的单机并发能力很弱,高并发下表字段的加减操作,可能出现幻读。电商的秒杀活动典型的高并发减库存场景,这类问题有三种优化性能的思路:1. 异步处理减库存,而不是同步。2. 在内存中操作减库存。3. 分布式处理,分摊压力。

系统架构面试题(5)分布式

系统架构面试题(5)分布式

当单服务器的性能无法满足业务需求时,就需要把多台服务器组成集群系统提高整体的处理性能。我们要使用统一的流量入口来对外提供服务,本质上就是需要一个流量调度器,通过均衡的算法,将用户请求流量均衡地分发到集群中不同的服务器上