Loading

摘要:前提 笔者之前在查找Sentinel相关资料的时候,偶然中找到了Martin Fowler大神的一篇文章《CircuitBreaker》。于是花了点时间仔细阅读,顺便温习一下断路器CircuitBreaker的原理与实现。 CircuitBreaker的原理 现实生活中的熔断器(更多时候被称为保险丝 阅读全文
posted @ 2020-10-31 16:49 throwable 阅读(1440) 评论(4) 推荐(8) 编辑
摘要:前提 Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之后替换为Lettuce。Lettuce翻译为生菜,没错,就是吃的那种生菜,所以它的Logo长这样: 阅读全文
posted @ 2019-09-28 09:33 throwable 阅读(43802) 评论(9) 推荐(17) 编辑
摘要:前提 在很早很早之前,写过一篇文章介绍过Redis中的red lock的实现,但是在生产环境中,笔者所负责的项目使用的分布式锁组件一直是Redisson。Redisson是具备多种内存数据网格特性的基于Java编写的Redis客户端框架(Redis Java Client with features 阅读全文
posted @ 2021-01-11 22:40 throwable 阅读(666) 评论(4) 推荐(5) 编辑
摘要:前提 半年前(2020-06)左右,疫情触底反弹,公司的业务量不断提升,运营部门为了方便短信、模板消息推送等渠道的投放,提出了一个把长链接压缩为短链接的功能需求。当时为了快速推广,使用了一些比较知名的第三方短链压缩平台,存在一些问题: 收费贵 一些情况下,短链域名在部分第三方平台例如微信会被封杀 回 阅读全文
posted @ 2020-12-27 22:38 throwable 阅读(250) 评论(0) 推荐(2) 编辑
摘要:前提 这篇文章是基于Linux系统CentOS7搭建Hadoop-3.3.0分布式集群的详细手记。 基本概念 Hadoop中的HDFS和YARN都是主从架构,主从架构会有一主多从和多主多从两种架构,这里为了简化搭建集群的流程,这里使用一主多从的架构。Hadoop集群中各个角色的名称如下: 服务 主节 阅读全文
posted @ 2020-12-14 00:41 throwable 阅读(316) 评论(0) 推荐(1) 编辑
摘要:前提 前边一篇文章详细分析了如何在Windows10系统下搭建ClickHouse的开发环境,接着需要详细学习一下此数据库的数据定义,包括数据类型、DDL和DML。ClickHouse作为一款完备的DBMS,提供了类似于MySQL(其实有部分语法差别还是比较大的)的DDL与DML功能,并且实现了大部 阅读全文
posted @ 2020-11-22 13:06 throwable 阅读(441) 评论(0) 推荐(0) 编辑
摘要:前提 随着现在业务开展,几个业务系统的数据量开始急剧膨胀。之前使用了关系型数据库MySQL进行了一次数据仓库的建模,发现了数据量上来后,大量的JOIN操作在提高了云MySQL的配置后依然有点吃不消,加之开发了一个基于关系型数据库设计的标签服务,日全量标签数据(无法避免的笛卡尔积)单表超过5000W。 阅读全文
posted @ 2020-11-21 11:46 throwable 阅读(498) 评论(0) 推荐(0) 编辑
摘要:前提 笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了Windows10系统下Hadoop和Hive开发环境的搭建。这篇文章记录了整个搭建过程中的具体步骤 阅读全文
posted @ 2020-11-03 08:21 throwable 阅读(714) 评论(0) 推荐(2) 编辑
摘要:前提 笔者之前在查找Sentinel相关资料的时候,偶然中找到了Martin Fowler大神的一篇文章《CircuitBreaker》。于是花了点时间仔细阅读,顺便温习一下断路器CircuitBreaker的原理与实现。 CircuitBreaker的原理 现实生活中的熔断器(更多时候被称为保险丝 阅读全文
posted @ 2020-10-31 16:49 throwable 阅读(1440) 评论(4) 推荐(8) 编辑
摘要:前提 在某一次用户标签服务中大量用到异步流程,使用了RabbitMQ进行解耦。其中,为了提高消费者的处理效率针对了不同节点任务的消费者线程数和prefetch_count参数都做了调整和测试,得到一个相对合理的组合。这里深入分析一下prefetch_count参数在RabbitMQ中的作用。 pre 阅读全文
posted @ 2020-10-18 12:28 throwable 阅读(1598) 评论(0) 推荐(0) 编辑
摘要:前提 这是一篇憋了很久的文章,一直想写,却又一直忘记了写。整篇文章可能会有点流水账,相对详细地介绍怎么写一个小型的"框架"。这个精悍的胶水层已经在生产环境服役超过半年,这里尝试把耦合业务的代码去掉,提炼出一个相对简洁的版本。 之前写的几篇文章里面其中一篇曾经提到过Canal解析MySQL的binlo 阅读全文
posted @ 2020-10-07 11:51 throwable 阅读(452) 评论(0) 推荐(0) 编辑
摘要:前提 笔者做小数据和零号提数工具人已经有一段时间,服务的对象是运营和商务的大佬,一般要求导出的数据是Excel文件,考虑到初创团队机器资源十分有限的前提下,选用了阿里出品的Excel工具EasyExcel。这里简单分享一下EasyExcel的使用心得。EasyExcel从其依赖树来看是对apache 阅读全文
posted @ 2020-09-12 10:53 throwable 阅读(2743) 评论(0) 推荐(6) 编辑