标签: 分布式

谈谈微服务的粒度

谈谈微服务的粒度

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

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

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

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

系统架构面试题(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。