随笔分类 - 微服务架构
摘要:(一)服务熔断 1 基本概念 服务雪崩:假设现场有一个场景ServiceA调用ServiceB, ServiceB调用Service C。如果流量比较大,ServiceC扛不住了,那么ServiceB的请求就会阻塞,慢慢耗尽ServiceB的资源,随后SerciceB也不可用,又会影响Service
阅读全文
摘要:(一)读缓存 冷热分离、查询分离、分库分表虽然解决了单个请求在大数据量下查询速度慢的问题,以及写入数据快的问题。但是并没有解决流量非常大的问题。假如突然来了很大一批请求,那么就会拖垮数据库。读缓存则是进一步优化查询效率,同时防止数据库宕机。关于缓存最常见的方法是本地缓存,google guaua种有
阅读全文
摘要:分库分表 1 查询分离利用Elasticserach作为查询库,可以解决业务数据没终止状态,不方便进行冷热分离时,数据量的缓存与查询效率低的问题。但是ES存在一定的延时,深度分页不能自由跳页,会有丢失数据的可能性。此外,当主库的数据量非常大时,写操作会变慢。同时由于需要将主库更新后的数据同步到查询库
阅读全文
摘要:为什么要用查询分离 冷热分离虽然可以将热点数据和冷数据分开存储,提升了热点数据的查询效率,但是冷数据的查询效率依然不高,且无法承受复杂的查询和统计。此外,针对于一些业务数据不是特别好区分是热数据还是冷数据,因此用冷热分离就不好实现。 MySQL的主从架构中,可以将主库设置专门用于写操作,从库则用于读
阅读全文
摘要:数据库作冷备 数据库分区:1)比起单个文件系统或硬盘,分区可以存储更多的数据。2)在清理数据时,可以直接删除废弃数据所在的分区。同样,有新数据时,可以增加更多的分区来存储新数据。3)可以大幅度地优化特定的查询,让这些查询语句只去扫描特定分区的数据。MySQL的分区要求分区字段必须是唯一索引(主键也是
阅读全文
摘要:微服务扩展方式: 1 微服务架构的定义:把应用程序功能性分解为一组服务的架构风格。 2 SOA与微服务的比较 SOA微服务 服务间通信 智能管道,例如Enterprise Service Bus(ESB), 往往采用重量级协议,例如SOAP或其它WS*标准 使用哑管道,例如消息代理,或者服务之间点对
阅读全文
摘要:微服务架构十二要素: 这十二要素可以说是微服务架构的方法论,有了思想,方法论和战术维度,我觉得就可以完整的描绘出一个微服务架构的全景图。然后,我将我理解的微服务架构总结成一句话:微服务架构是 一种去中心化的分布式服务架构,架构拥有服务寻址,故障容错,流量调度,控制访问和可观测性的服务治理能力,从而实
阅读全文