经典开源代码分析——Leveldb高效存储实现导读:LevelDB是Google开源的持久化KV数据库,在其高性能的背后,将数据拆分成多层进行存储。本文作者深入分析了LevelDB存储模块的设计和源码实现,快速了解LevelDB高性能背后的原理。作者codedumpcodedump.info博主,多年从事互联网服务器后台开发工作。可访问作者博客阅读codedump更多文章。本文基于leveldb1
分类:
数据库 时间:
2020-11-06 01:07:54
阅读次数:
23
一、简介OpenStack使用消息队列来协调服务之间的操作和状态信息。消息队列服务通常在控制器节点上运行。OpenStack支持多种消息队列服务,包括RabbitMQ,Qpid和ZeroMQ。但是,打包OpenStack的大多数发行版都支持特定的消息队列服务。本次遵从官网,使用rabbitmq来安装。rabbitmq的官方网站https://www.rabbitmq.com/二、安装在openst
分类:
其他好文 时间:
2020-11-06 00:55:34
阅读次数:
18
一、服务端程序 **1. .h file** #ifndef UPGRADE_H #define UPGRADE_H #define MSG_MAX_SIZE (24) enum { HTTP_TYPE_UPLOAD = 0x0, HTTP_TYPE_DOWNLOAD }; typedef stru ...
分类:
其他好文 时间:
2020-11-04 19:07:09
阅读次数:
21
正式支持多线程!Redis6.0与老版性能对比评测导读:Redis6.0将在今年年底发布,其中引入的最重大的改变就是多线程IO。本文作者深入阅读并解析了关键代码,并且做了基准测试,揭示多线程IO特性对Redis性能的提升,十分值得一读。林添毅,美图技术经理,主要负责NoSQL/消息队列/中间件等基础服务相关研发。在加入美图之前,曾就职于新浪微博架构平台从事基础服务的研发。前天晚上不经意间看到Red
分类:
编程语言 时间:
2020-11-04 18:18:33
阅读次数:
20
RabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 RabbitMQ 主要是为了实现系统之间的双向解耦而实现的。当生产者大量产生数据时,消费者无法快速消费,那么需要一个中间层。保存这 ...
分类:
编程语言 时间:
2020-11-02 10:38:47
阅读次数:
33
引言所谓的消费语义,指的就是如下三种情况如何保证消息最多消费一次如何保证消息至少消费一次如何保证消息恰好消费一次其实类似还有一个投递语义如何保证消息最多投递一次如何保证消息至少投递一次如何保证消息恰好投递一次说句实在话,其实还是老问题,只是换了一种问法!OK,开始我们的正文正文我们先做如下约定Producer代表生产者Consumer代表消费者MessageQueue代表消息队列投递语义我们先从投
分类:
其他好文 时间:
2020-11-01 21:04:16
阅读次数:
14
什么鬼,面试官竟然让我用Redis实现一个消息队列!!?△Hollis,一个对Coding有着独特追求的人△这是Hollis的第241篇原创分享作者l小胖儿来源lHollis(ID:hollischuang)众所周知,redis是一个高性能的分布式key-value存储系统,在NoSQL数据库市场上,redis自己就占据了将近半壁江山,足以见到其强大之处。同时,由于redis的单线程特性,我们可以
分类:
其他好文 时间:
2020-11-01 09:25:05
阅读次数:
15
1.背景本文是上周去技术沙龙听了一下爱奇艺的Java缓存之路有感写出来的。先简单介绍一下爱奇艺的java缓存道路的发展吧。可以看见图中分为几个阶段:第一阶段:数据同步加redis通过消息队列进行数据同步至redis,然后Java应用直接去取缓存这个阶段优点是:由于是使用的分布式缓存,所以数据更新快。缺点也比较明显:依赖Redis的稳定性,一旦redis挂了,整个缓存系统不可用,造成缓存雪崩,所有请
分类:
其他好文 时间:
2020-10-30 11:40:15
阅读次数:
14
这是一篇从去年写到今年的文章,希望大家会喜欢1.背景分布式事务一直是一个老生常谈的一个话题,在我的公众号下面下面已经写过很多篇分布式事务相关的文章了,但是依旧没有将其完全剖析。在之前的文章中我也多次提到我们可以使用消息队列来实现我们的分布式事务,但是大多都是一笔带过,很多读者都对这一块产生了很多疑问,希望读完这篇文章能让你理解如何用消息队列实现分布式事务。当然首先要回顾一下我们的一些基本概念:CA
分类:
其他好文 时间:
2020-10-29 10:02:05
阅读次数:
15
1.背景上篇文章介绍了RocketMQ整体架构和原理有兴趣的可以阅读一下,在这篇文章中的延时消息部分,我写道开源版的RocketMQ只提供了18个层级的消息队列延时,这个功能在开源版中显得特别鸡肋,但是在阿里云中的RocketMQ却提供了支持40天之内任意秒级延时队列,果然有些功能你只能充钱才能拥有。当然你或许想换一个开源的消息队列,在开源社区中消息队列延时消息很多都没有被支持比如:RabbitM
分类:
其他好文 时间:
2020-10-29 10:01:24
阅读次数:
17