
分布式
文章平均质量分 88
仰望星空的尘埃
https://github.com/a422478514
我未曾见过一个早起、勤奋、谨慎、诚实的人抱怨命运不好;良好的品格,优良的习惯,坚强的意志,是不会被假设所谓的命运击败的。
展开
-
5 分钟搞懂布隆过滤器,亿级数据过滤算法你值得拥有!
在程序的世界中,布隆过滤器是程序员的一把利器,利用它可以快速地解决项目中一些比较棘手的问题。如网页 URL 去重、垃圾邮件识别、大集合中重复元素的判断和缓存穿透等问题。布隆过滤器(Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。一、布隆过滤器简介当你往简单数组或列表中插入新数据时,将不会根据插入项的值来确转载 2021-07-18 17:58:27 · 679 阅读 · 0 评论 -
Opentsdb简介
1、OpenTSDB介绍1.1、OpenTSDB是什么?主要用途是什么?官方文档这样描述:OpenTSDB is a distributed, scalable Time Series Database (TSDB) written ontop of HBase;翻译过来就是,基于Hbase的分布式的,可伸缩的时间序列数据库。主要用途,就是做监控系统;譬如收集大规模集群(包括网络设备、操作系统、应用程序)的监控数据并进行存储,查询。1.2、介绍continue存储到OpenTSDB.转载 2020-09-10 11:16:13 · 637 阅读 · 0 评论 -
敖丙对分布式的理解
前言之前写了一篇秒杀系统的文章,最后给自己埋了分布式事务的坑,然后很多读者就要求我去写分布式事务,那作为程序员届的暖男,我一向是有求必应的,就算是不睡觉我都要写给你们看的!因为分布式事务是:分布式 + 事务 = 分布式事务。理所当然的要先谈谈分布式,而分布式又得谈谈这个概念是如何演进得来的,因此作为创作鬼才的我,就先来讲讲架构的演进,什么叫分布式?什么是集群?SOA、微服务这两个东西的关系和区别,下篇再讲分布式事务。因为我发现我读者大多都是学生或者跟我一样刚毕业不久,那一直听分布式估计都转载 2020-08-12 10:45:08 · 810 阅读 · 0 评论 -
由Redis分布式锁造成的重大事故
基于Redis使用分布式锁在当今已经不是什么新鲜事了。本篇文章主要是基于我们实际项目中因为redis分布式锁造成的事故分析及解决方案。背景:我们项目中的抢购订单采用的是分布式锁来解决的。有一次,运营做了一个飞天茅台的抢购活动,库存100瓶,但是却超卖了!要知道,这个地球上飞天茅台的稀缺性啊!!!事故定为P0级重大事故...只能坦然接受。整个项目组被扣绩效了~~事故发生后,CTO指名点姓让我带头冲锋来处理,好吧,冲~事故现场经过一番了解后,得知这个抢购活动接口以前从来没有出现过这种情况,但是这次为转载 2020-08-11 15:32:58 · 440 阅读 · 1 评论 -
Hystrix和Guava RateLimiter对比
一、关于限流&熔断&降级的说明为什么要限流、降级、熔断(为什么要用hystrix)Hystrix 配置参数全解析二、限流1、Guava的RateLimiterGuava的RateLimiter的API//限制速率为1秒10个请求,2是热身参数-以一种平滑的方式把1秒内的发放令牌的速率放大到最大(适用于初始化时间比较久或者使用了连接池的应用)//该限流器是非公平令牌桶算法private RateLimiter switchRateLimiter = RateL原创 2020-07-29 11:38:48 · 1200 阅读 · 0 评论 -
各大厂分布式链路跟踪系统架构对比
各大厂分布式链路跟踪系统架构对比 随着互联网架构的扩张,分布式系统变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、消息收发、分布式数据库、分布式缓存、分布式对象存储、跨域调用,这些组件共同构成了繁杂的分布式网络,那现在的问题是一个请求经过了这些服务后其中出现了一个调用失败的问题,只知道有异常,但具体的异常在哪个服务引起的就需要进入每一个服务里面看日志,这样的处理效率是非常低的。 分布式调用链其实就是将一次分布式请求还原成调用链路。显式的在后端查看一次分布式请求的调用情况,比...转载 2020-07-14 19:53:12 · 519 阅读 · 0 评论 -
分布式之数据库和缓存双写一致性方案解析
引言为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三个部分组成1、讲解缓存更新策略2、对每种策略进行缺点分析3、针对缺点给出改进方案正文先做.转载 2020-07-14 19:46:38 · 222 阅读 · 0 评论 -
canal+springboot
简介canal 是阿里巴巴的一个开源项目,基于java实现,整体已经在很多大型的互联网项目生产环境中使用,包括阿里、美团等都有广泛的应用,是一个非常成熟的数据库同步方案,基础的使用只需要进行简单的配置即可。canal是通过模拟成为mysql 的slave的方式,监听mysql 的binlog日志来获取数据,binlog设置为row模式以后,不仅能获取到执行的每一个增删改的脚本,同时还能获取到修改前和修改后的数据,基于这个特性,canal就能高性能的获取到mysql数据数据的变更。github地址转载 2020-07-14 16:56:22 · 1285 阅读 · 0 评论 -
kudu和hbase的区别和联系
前提hbase的物理模型是master和regionserver,regionserver存储的是region,region里边很有很多store,一个store对应一个列簇,一个store中有一个memstore和多个storefile,store的底层是hfile,hfile是hadoop的二进制文件,其中HFile和HLog是hbase两大文件存储格式,HFile用于存储数据,HLog保证...转载 2020-04-01 14:20:13 · 480 阅读 · 0 评论 -
OLAP、OLTP的介绍和比较
OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易...转载 2020-04-01 12:16:33 · 434 阅读 · 0 评论 -
主流OLAP系统对比总结
机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。OLTP和OLAP的区别参考:从大数据谈起1:OLTP和OLAP的设计区别从大数据谈起2:分片和分层-Gavin...原创 2020-04-01 11:32:40 · 3198 阅读 · 0 评论 -
Ingress介绍
翻译自官网文档 Kubernetes-Ingress管理对集群中的服务(通常是HTTP)的外部访问的API对象。Ingress可以提供负载平衡、SSL终端和基于名称的虚拟主机。术语为清楚起见,本指南定义了以下术语:Node(节点): kubernetes集群中的一台虚拟机或物理机。 Cluster(集群): 一组与因特网通过隔离的节点,他们是是Kubernetes管理的主要计算资源...转载 2020-03-30 12:09:44 · 497 阅读 · 0 评论 -
玩K8S不得不会的HELM
一 基本概念helm 类似于Linux系统下的包管理器,如yum/apt等,可以方便快捷的将之前打包好的yaml文件快速部署进kubernetes内,方便管理维护。helm:一个命令行下客户端工具,主要用于kubernetes应用chart的创建/打包/发布已经创建和管理和远程Chart仓库。 Tiller:helm的服务端,部署于kubernetes内,Tiller接受helm的请求,...原创 2020-03-30 11:33:23 · 798 阅读 · 0 评论 -
kafka面试题
前言Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linked...转载 2020-03-19 12:10:51 · 326 阅读 · 0 评论 -
dubbo面试题
一. Dubbo是什么?Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方 案。二. 为什么要用Dubbo?因为是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了 Netty、Zookeeper,保证了高性能高可用性。 1、使用Dubb...转载 2020-03-19 11:55:15 · 282 阅读 · 0 评论 -
从Docker Machine到K8S:容器管理为啥有这么多工具
关注嘉为科技,获取运维新知目录1、有了Docker,为啥还需要额外容器管理工具2、Docker三剑客Docker MachineDocker ComposeDocker Swarm3、MesosMesos概述Mesos架构小结4、Kubernetes概述核心概念集群组件资源抽象小结5、Fleet——Core OS6、容器管理工具对比Kubernetes的优势K...转载 2020-01-07 20:17:49 · 623 阅读 · 0 评论 -
三、基于ZK实现分布式锁
一、分布式锁介绍 分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。二、架构介绍 在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构图 解释: 左边的整个区域表示一个Zookeeper集群,locker是Zookeeper的一个持久节点,node_1、no...原创 2018-06-03 14:34:28 · 6694 阅读 · 0 评论 -
四、基于数据库实现分布式锁
一、基于数据库表要实现分布式锁,最简单的方式可能就是直接创建一张锁表,然后通过操作该表中的数据来实现了。当我们要锁住某个方法或资源的时候,我们就在该表中增加一条记录,想要释放锁的时候就删除这条记录。创建这样一张数据库表:CREATE TABLE `methodLock` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `method...原创 2018-06-03 14:38:09 · 293 阅读 · 0 评论 -
二、ZooKeeper和CAP理论及一致性原则
一、CAP理论概述分布式领域中存在CAP理论,且该理论已被证明:任何分布式系统只可同时满足两点,无法三者兼顾。 ①C:Consistency,一致性,数据一致更新,所有数据变动都是同步的。 ②A:Availability,可用性,系统具有好的响应性能。 ③P:Partition tolerance,分区容错性。因此,将精力浪费在思考如何设计能满足三者的完美系统上是愚钝的,应该根据应用场景进行...原创 2018-06-04 20:41:37 · 548 阅读 · 0 评论 -
一、分布式锁
很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车!学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。在学习或...原创 2018-05-30 23:56:44 · 178 阅读 · 0 评论 -
七、分布式事务
本文对比 二阶段事务、最大努力交付以及消息最终一致性,并给出部分解决方案,最终一致性方案参考阿里RockMQ事务消息:http://blog.youkuaiyun.com/chunlong...)项目git地址:https://github.com/vvsuperman...一 2阶段事务分布式系统最终一致性有N种方案,比如2PC(2阶段事务) ,以及三段提交等等,但开销较大,实现起来复杂,比...原创 2018-06-07 14:01:35 · 170 阅读 · 0 评论 -
一、Zookeeper介绍
1.ZooKeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户2.ZooKeeper提供了什么?1)文件系统2)通知机制3.Zookeeper文件系统每个子目录项如 NameSer...原创 2018-06-03 20:09:07 · 221 阅读 · 0 评论 -
三、ZK事件类型
ZooKeeper的Watch事件类型session eventsWatcher.Event.EventType.NoneTrigger Event Type AUTH_FAILED event Watcher.Event.KeeperState.AuthFailed CONNECTED event Watcher.Event.KeeperState.Conn...原创 2018-08-08 18:41:55 · 336 阅读 · 0 评论 -
一、ZK单机多实例+分布式配置
介绍zookeeper单机多实例部署(实验性质)以及生产环境的分布式部署1. 准备工作: 1)需要linux环境,推荐用ubuntu的系统。学习的话使用oracle的virtual box安装虚拟机,网上找下安装文档就可以装好了,而生产环境一般都会装好的。ubuntu下载链接: 32位:http://mirrors.zju.edu.cn/ubuntu-releases/...原创 2018-08-08 17:57:22 · 867 阅读 · 0 评论 -
一、Dubbo介绍与使用
1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者...原创 2018-06-03 19:08:24 · 218 阅读 · 0 评论 -
二、Dubbo支持的协议
Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。下面我们就针对Dubbo的每种协议详解讲解,以便我们在实际应用中能够正确取舍。1.dubbo协议缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。 连接个数:单连接 连接方...原创 2018-06-03 19:46:24 · 298 阅读 · 0 评论 -
CAP和BASE理论
1. CAP理论2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。CAP理论为:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Par...原创 2019-09-24 12:15:06 · 154 阅读 · 0 评论 -
二、Redis实现分布式锁
Redis分布式锁的正确实现方式前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用...原创 2018-06-03 14:07:24 · 876 阅读 · 0 评论