一、分布式系统的优劣势
1、优势
(1)模块重用度高,可实现并行开发,进而提升语音直播app开发效率。
(2)分布式系统的扩展性更高。
2、劣势
(1)架构设计会比较复杂。
(2)语音直播app开发采用分布式系统吞吐量会增加,响应时间也会随之增加。
(3)测试环节和查错环节的难度增加。
(4)由于技术比较多元化,维护和运维复杂度高。
二、分布式系统中的数据拆分
1、数据拆分方式
在语音直播app开发中数据拆分有两种方式,分别是垂直分库和水平分表。
2、拆分后的问题及解决方式
在进行数据拆分后必然会引发新的问题:
(1)单机的ACID被打破,引入了分布式事务:针对该问题通常是在语音直播app开发时使用消息队列来解决。
(3)自增id存在困难:单独做一个id生成器,减少请求次数,增加速度。
三、分布式和微服务的联系
1、分布式
所谓的分布式就是将不同的机器分别部署在不同的地方,不同机器间可以为完成某一业务相互协作,其实说起来,微服务可以看作是一种比较特殊的分布式。
2、微服务
所谓的微服务就是根据业务进行划分,将各个业务分开来做。
(1)优点:微服务将语音直播app开发的不同模块进行了切分,并且不同服务可以采用不同的语言,以发挥出各个服务应有的价值。
(2)缺点:微服务的使用引入了分布式的复杂性,像接口一致性等,产生的大部分问题都有相对应的解决手段。