同城双活:如何实现机房之间的数据同步?
在业务初期,为了控制投入成本,许多公司通常只使用一个机房提供服务。但随着业务的发展和流量的增长,对服务响应速度和可用性的要求逐渐提高,这时就需要考虑在不同地区…
跳数索引:后起新秀ClickHouse
在之前的学习进程中,我们已然领略到了 Elasticsearch 那强大的功能特性。然而,当进行技术选型之际,价格这一因素的影响力不容小觑。Elasticsea…
链路追踪:如何定制一个分布式链路跟踪系统 ?
分布式链路跟踪服务属于写操作频繁而读操作相对较少的服务类型,它在我们进行线上问题排查时发挥着重要的支撑作用。我曾参与过一个系统,该系统同时为多条业务线提供支持,…
分布式事务:多服务的2PC、TCC都是怎么实现的?
前言
目前,业界流行微服务,DDD(领域驱动设计)也随之流行起来。DDD 是一种拆分微服务的方法,它从业务流程的视角从上往下拆分领域,通过聚合根关联多个领域,将…
本地缓存:用本地缓存做服务会遇到哪些坑?
在探讨数据服务相关内容时,有一个方面不得不提及,那就是缓存。
要知道,就当下的情况而言,唯有缓存能够承担起大流量的数据服务需求。而我们常见的缓存架构呢,基本上都…
流量拆分:如何通过架构设计缓解流量压力?
今天,我打算以直播互动作为例子,引领大家一同去了解在面对读多写多的情况时,应当怎样去应对所产生的流量压力。通常而言,这类服务在多数情况下都属于实时互动服务。由于…
高并发系统:它的通用设计方法是什么?
在高并发系统的设计中,面对大流量的挑战,我们通常需要运用一些巧妙的方案来有效地分流和处理这些流量,从而保证系统的稳定性和用户体验。可以通过一个比喻来帮助理解:就…
多层依赖:如何避免落入数据服务接口的陷阱?
前面,我们讨论了不同类型系统(如读多写少、强一致、写多读少和读写密集)的优化方法。但在很多复杂的业务系统中,读写逻辑往往相互交织、互相制约,这让优化工作变得更具…
网关编程:如何通过用户网关和缓存降低研发成本?
如果说用户的流量就像波涛汹涌的海浪,那网关就是防御冲击的堤坝。在大型的互联网项目里,网关必不可少,是我们目前最好用的防御手段。通过网关,我们能把大量的流量分流到…
数据库优化方案:查询请求增加时,如何做主从分离
当前数据库仍为单机部署,根据一些云厂商的基准测试结果,在4核8GB的机器上运行MySQL 5.7时,大概可以支撑500TPS和10000QPS。运营负责人表示…
池化技术:如何减少频繁创建数据库连接的性能损耗?
一天,公司 CEO 将你叫到会议室,向你展示了一个新出现的商业机会,希望你能带领一位同事,快速推出一款面向某垂直领域的电商系统。面对有限的人手和紧迫的时间,你毫…
消息队列之 MetaQ 和 Kafka 哪个更香!
本篇文章首先介绍MetaQ消息队列,然后介绍了作者对MetaQ和Kafka这两个消息队列的理解。
消息队列
消息队列是一个用于接收消息、存储消息并且转发消息的…
