Loading

摘要:前提 笔者之前在查找Sentinel相关资料的时候,偶然中找到了Martin Fowler大神的一篇文章《CircuitBreaker》。于是花了点时间仔细阅读,顺便温习一下断路器CircuitBreaker的原理与实现。 CircuitBreaker的原理 现实生活中的熔断器(更多时候被称为保险丝 阅读全文
posted @ 2020-10-31 16:49 throwable 阅读(1812) 评论(4) 推荐(8) 编辑
摘要:前提 Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之后替换为Lettuce。Lettuce翻译为生菜,没错,就是吃的那种生菜,所以它的Logo长这样: 阅读全文
posted @ 2019-09-28 09:33 throwable 阅读(49077) 评论(9) 推荐(17) 编辑
摘要:前提 这是《冷饭新炒》系列的第六篇文章。 本文会翻炒一个用途比较广的算法 - 布隆过滤器算法。 布隆过滤器的一些概念 主要包括: 简介 算法 参数 优势和劣势 布隆过滤器简介 布隆过滤器是一种空间高效概率性的数据结构(百科中原文是a space-efficient probabilistic dat 阅读全文
posted @ 2021-03-06 12:56 throwable 阅读(337) 评论(0) 推荐(1) 编辑
摘要:前提 这是《冷饭新炒》系列的第五篇文章。 本文会翻炒一个用以产生访问令牌的开源标准JWT,介绍JWT的规范、底层实现原理、基本使用和应用场景。 JWT规范 很可惜维基百科上没有搜索到JWT的条目,但是从jwt.io的首页展示图中,可以看到描述: JSON Web Tokens are an open 阅读全文
posted @ 2021-02-20 08:55 throwable 阅读(2447) 评论(10) 推荐(7) 编辑
摘要:前提 UUID是Universally Unique IDentifier的缩写,翻译为通用唯一标识符或者全局唯一标识符。对于UUID的描述,下面摘录一下规范文件A Universally Unique IDentifier (UUID) URN Namespace中的一些描述: UUID(也称为G 阅读全文
posted @ 2021-01-29 09:06 throwable 阅读(493) 评论(2) 推荐(1) 编辑
摘要:前提 在很早很早之前,写过一篇文章介绍过Redis中的red lock的实现,但是在生产环境中,笔者所负责的项目使用的分布式锁组件一直是Redisson。Redisson是具备多种内存数据网格特性的基于Java编写的Redis客户端框架(Redis Java Client with features 阅读全文
posted @ 2021-01-11 22:40 throwable 阅读(1157) 评论(5) 推荐(5) 编辑
摘要:前提 半年前(2020-06)左右,疫情触底反弹,公司的业务量不断提升,运营部门为了方便短信、模板消息推送等渠道的投放,提出了一个把长链接压缩为短链接的功能需求。当时为了快速推广,使用了一些比较知名的第三方短链压缩平台,存在一些问题: 收费贵 一些情况下,短链域名在部分第三方平台例如微信会被封杀 回 阅读全文
posted @ 2020-12-27 22:38 throwable 阅读(514) 评论(0) 推荐(3) 编辑
摘要:前提 这篇文章是基于Linux系统CentOS7搭建Hadoop-3.3.0分布式集群的详细手记。 基本概念 Hadoop中的HDFS和YARN都是主从架构,主从架构会有一主多从和多主多从两种架构,这里为了简化搭建集群的流程,这里使用一主多从的架构。Hadoop集群中各个角色的名称如下: 服务 主节 阅读全文
posted @ 2020-12-14 00:41 throwable 阅读(516) 评论(0) 推荐(1) 编辑
摘要:前提 前边一篇文章详细分析了如何在Windows10系统下搭建ClickHouse的开发环境,接着需要详细学习一下此数据库的数据定义,包括数据类型、DDL和DML。ClickHouse作为一款完备的DBMS,提供了类似于MySQL(其实有部分语法差别还是比较大的)的DDL与DML功能,并且实现了大部 阅读全文
posted @ 2020-11-22 13:06 throwable 阅读(925) 评论(0) 推荐(0) 编辑
摘要:前提 随着现在业务开展,几个业务系统的数据量开始急剧膨胀。之前使用了关系型数据库MySQL进行了一次数据仓库的建模,发现了数据量上来后,大量的JOIN操作在提高了云MySQL的配置后依然有点吃不消,加之开发了一个基于关系型数据库设计的标签服务,日全量标签数据(无法避免的笛卡尔积)单表超过5000W。 阅读全文
posted @ 2020-11-21 11:46 throwable 阅读(1043) 评论(0) 推荐(0) 编辑
摘要:前提 笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了Windows10系统下Hadoop和Hive开发环境的搭建。这篇文章记录了整个搭建过程中的具体步骤 阅读全文
posted @ 2020-11-03 08:21 throwable 阅读(1502) 评论(1) 推荐(3) 编辑
摘要:前提 笔者之前在查找Sentinel相关资料的时候,偶然中找到了Martin Fowler大神的一篇文章《CircuitBreaker》。于是花了点时间仔细阅读,顺便温习一下断路器CircuitBreaker的原理与实现。 CircuitBreaker的原理 现实生活中的熔断器(更多时候被称为保险丝 阅读全文
posted @ 2020-10-31 16:49 throwable 阅读(1812) 评论(4) 推荐(8) 编辑