标签: 分布式

系统架构面试题(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)分布式

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

系统架构面试题(4)开源软件

系统架构面试题(4)开源软件

Nginx是一款高性能的HTTP和反向代理服务器,能够选择高效的epoll、kqueue、eventport最为网络I/O模型,在高连接并发的情况下,能够支持高达5万个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。Redis是一款开源的内存数据结构存储,用作数据库、分布式缓存、消息中间件,支持多种数据结构。Redis内置了主从复制、事务以及不同级别的持久化功能,并通过Sentinel和自动分区的Cluster提供了高可用性。

docker安装Alibaba Canal的步骤

docker安装Alibaba Canal的步骤

Canal[kə’næl]是由Alibaba开发的数据同步中间件,译为水道/管道/沟渠,通过解析MySQL数据库增量日志,提供数据订阅和消费,主要使用场景:创建数据库镜像、数据库实时备份、索引构建和实时维护、按需刷新业务cache、按业务逻辑需要处理增量数据、同步构建其他数据源。相比MySQL本身的主从机制,有下面几点优势:让架构更灵活,多机房同步比较简单;异构表之间也可以同步,可以控制不同步DDL以免出现数据丢失和不一致;Canal可以实现一个表一线程,多个表多线程的同步,速度更快。

基于数据库号段模式实现分布式ID

基于数据库号段模式实现分布式ID

唯一ID是业务系统操作数据的重要凭据。如果是单表,采用数据表的自增主键作为唯一ID即可。在分布式和高并发场景下,数据快速增长,单表可能被拆成多表,如果使用自增主键作为唯一ID,每个表都要设置不同的增长步长,不便于数据库扩展。本文主要介绍基于数据库号段模式实现分布式ID。