随笔分类 - [71]NoSql
-
倒排索引Elaticsearch
摘要:Elaticsearch倒排索引 ES倒排索引基本原理 索引(index)可以分为正序索引(Forward Indexes)和倒排索引(Inverted Index)两种。在关系型数据库中使用索引可以避免数据检索走全表扫描,将检索的时间复杂度从O(n)降到了O(logn)。例如,一本字典在开篇几页记 阅读全文
-
Net RabbitMQ实战
摘要:.Net RabbitMQ实战指南——常用命令 本问主要介绍rabbitmqctl工具的常用命令。 vhost 一个RabbitMQ服务器可以创建多个虚拟的消息服务器,称之为虚拟主机(virtual host),简称为vhost。vhost之间是绝对隔离的,能将同一个RabbitMQ中的客户分开,又 阅读全文
-
redis大key的问题
摘要:转载程序员,请你不要在坑程序员了🤣 >jsoncat:https://github.com/Snailclimb/jsoncat (仿 Spring Boot 但不同于 Spring Boot 的一个轻量级的 HTTP 框架) 大家好,hellohello-tom又来分享实战经验了。🤣 在一个风 阅读全文
-
Redis
摘要:Redis 面试必备知识点 1、Redis 简介# 是一个用 C 语言开发的,高性能的键值对数据库。 数据存在于内存,读写速度快。 可用来做缓存、分布式锁、消息队列。 提供多种数据类型来支持不同的业务场景。 支持事务、持久化、Lua 脚本、多种集群方案。 2、Redis 与 Memcached 对比 阅读全文
-
使用hbase,hive,hbase与建立宽表和ES 的分布式架构,实时监听到 db 的字段变更,再将变更的内容实时同步到 ES 和宽表设计天生支持海量数据查询
摘要:ES 分页方案 ES 分页方案 ES 中,存在三种常见的分页方案: FROM, SIZE Search-After Scroll 下面将依次比较三种方案之间的 trede-off,并给出相应建议的应用场景。 常见分页,FROM, SIZE# ES 提供了常见的分页功能,通过在 search API 阅读全文
-
倒排索引(inverted index)
摘要:Elasticsearch从0到千万级数据查询实践(非转载) 1.es简介 1.1 起源 https://www.elastic.co/cn/what-is/elasticsearch,es的起源,是因为程序员Shay Banon在使用Apache Lucene发现不太好用,然后手动改造升级的过程中 阅读全文
-
一张表的数据大概是3000万行sqlserver数据导入到MongoDb
摘要:迁移sqlserver数据到MongoDb 前言 随着数据量的日积月累,数据库总有一天会不堪重负的,除了通过添加索引、分库分表,其实还可以考虑一下换个数据库。我强烈推荐使用MongoDb,我举例说一下我的经历:我的项目中有一张表的数据大概是3000万行数据,sqlserver查找的速度是16秒左右。 阅读全文
-
使用redis作为消息队列的用法
摘要:背景 最近项目有个需求需要动态更新规则,当时脑中想到的第一个方案是利用zk的监听机制,管理人员更新完规则将状态写入zk,集群中的机器监听zk的状态,当有状态变更后,集群中的机器开始拉取最新的配置。但由于公司技术选型,没有专门搭建zk集群,因此也不可能为这一个小需求去搭建zk集群。图为使用zk监听状态 阅读全文
-
缓存问题及解决方案
摘要:缓存问题及解决方案 缓存雪崩 同一时间大面积缓存失效,大量请求落到数据库上 解决 缓存设置过期时间时加上一个随机值时间,使得每个key的过期时间分布开来,不会集中在同一时刻失效 缓存穿透 请求缓存不存在的数据,然请求穿透缓存到数据库,通常是黑客攻击 解决 采用布隆过滤器,使用一个足够大的bitmap 阅读全文
-
rabbitmq几种常见模式的应用场景
摘要:rabbitmq系列(二)几种常见模式的应用场景及实现 一、简单模式 原理:生产者将消息交给默认的交换机,交换机获取消息后交给绑定这个生产者的队列(投递规则为队列名称和routing key 相同的队列),监听当前队列的消费者获取信息并执行消费逻辑。 场景:有一个oa系统,用户通过接收手机验证码进行 阅读全文
-
Redis命令列出库中键KEYS命令要谨慎使用
摘要:Redis 千万不要乱用KEYS命令,不然会挨打的 Redis现如今使用的场景越来越多?如何批量删除key呢? 有人说用KEYS命令,刚开始学Redis的时候就是用这个命令列出库中键。 KEYS命令要谨慎使用。 为何?客观别急,我们先一步步来看。 KEYS 命令 Warning: consider 阅读全文
-
RabbitMQ的工作模式
摘要:RabbitMQ六种工作模式的对比与实践 最近学习RabbitMQ的使用方式,记录下来,方便以后使用,也方便和大家共享,相互交流。 RabbitMQ的六种工作模式: 1、Work queues2、Publish/subscribe3、Routing4、Topics5、Header 模式6、RPC 一 阅读全文
-
redis生成分布式id方案
摘要:分布式Id - redis方式 本篇分享内容是关于生成分布式Id的其中之一方案,除了redis方案之外还有如:数据库,雪花算法,mogodb(object_id也是数据库)等方案,对于redis来说是我们常用并接触比较多的,因此主要谈谈结合redis生成分布式id方案。 分布式Id设计流程图 基于r 阅读全文
-
Kafka入门
摘要:Kafka入门宝典(详细截图版) 1、了解 Apache Kafka 1.1、简介 官网:http://kafka.apache.org/ Apache Kafka 是一个开源消息系统,由Scala 写成。是由Apache 软件基金会开发的一个开源消息系统项目。 Kafka 最初是由LinkedIn 阅读全文
-
可靠性、幂等性和事务 Kafka
摘要:Kafka笔记—可靠性、幂等性和事务 分类: 消息队列 标签: kafka 这几天很忙,但是我现在给我的要求是一周至少要出一篇文章,所以先拿这篇笔记来做开胃菜,源码分析估计明后两天应该能写一篇。给自己加油~,即使没什么人看。 可靠性# 如何保证消息不丢失# Kafka只对“已提交”的消息(commi 阅读全文
-
docker-compose搭建zookeeper集群环境 CodingCode
摘要:docker-compose搭建zookeeper集群环境 使用docker-compose搭建zookeeper集群环境 zookeeper是一个集群环境,用来管理微服务架构下面的配置管理功能。 这篇文章是一个基础步骤如何搭建zookeeper的docker集群环境。 我们使用docker-com 阅读全文
-
Kafka支持单集群20万分区
摘要:Kafka支持单集群20万分区 之前网上关于确定Kafka分区数的博客多多少少都源自于饶军大神的文章,如今他带来了这方面的第二篇文章,特此翻译一下,记录一下其中的要点。 原贴地址: https://www.confluent.io/blog/apache-kafka-supports-200k-pa 阅读全文
-
Kafka Connect简介
摘要:Kafka Connect简介 http://colobu.com/2016/02/24/kafka-connect/#more Kafka 0.9+增加了一个新的特性Kafka Connect,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单 阅读全文
-
搭建基于docker 的redis分布式集群在docker for windows
摘要:https://blog.csdn.net/xielinrui123/article/details/85104446 首先在docker中下载使用 docker pull redis:3.0.7docker pull ruby12分别下载redis的3.0.7版本和ruby。之所以用3.0.7版本 阅读全文
-
Redis Sentinel 高可用部署实践集群
摘要:一、Redis Sentinel 介绍 1、Sentinel 数据库环境搭建,从单机版到主备、再到多数据库集群,我们需要一个高可用的监控;比如Mysql中,我们可能会采用MHA来搭建我们的高可用数据库服务; 目前很多项目都用到了redis,比如我们采用1+2的模式,也就是一主两从;我们设置Redis 阅读全文