- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 如何基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步?
随着业务系统架构基本完备,数据层面的建设比较薄弱,目前工作重心在于搭建一个小型的数据平台。优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存、更新或者软删除)到一个另一个数据源,持久化之前需要清洗数据并且构建一个相对合理的便于后续业务数据统计、标签系统构建等扩展功能的数据模型。基于当前团队的资源和能力,优先调研了Alibaba开源中间件Canal的使用。这篇文章简单...
2020-04-29 16:05:06 9847
原创 面试必问:Java 内存模型的3个特性
前言Java内存模型(Java Memory Model ,JMM)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能得到一致效果的「机制及规范」。JMM与Java内存区域是两个容易混淆的概念,这两者既有差别又有联系:区别「两者是不同的概念层次」。「Java 内存模型是抽象的,它是用来描述一组规则」,通过这个规则来控制...
2020-04-28 19:29:07 5799 1
原创 一文搞定,手撸Springboot + aop + Lua分布式限流的最佳实践
一、什么是限流?为什么要限流?不知道大家有没有坐过帝都的地铁,就是进地铁站都要排队的那种,为什么要这样摆长龙转圈圈?答案就是为了限流!因为一趟地铁的运力是有限的,一下挤进去太多人会造成站台的拥挤、列车的超载,存在一定的安全隐患。同理,我们的程序也是一样,它处理请求的能力也是有限的,一旦请求多到超出它的处理极限就会崩溃。为了不出现最坏的崩溃情况,只能耽误一下大家进站的时间。限流是...
2020-04-28 10:34:01 11150
原创 还在使用if else写代码?试试 “策略模式” 吧!
我们使用的app大多都有分享的功能,我们可以选择分享到不同的地方,比如微博、微信、QQ等等,虽然是同一个内容,但是分享到不同的平台就会有不同的处理方式,比如要跳转到不同的app或者直接复制链接等等。如果让你来实现这个功能,你会如何实现呢? 如果你对设计模式不熟悉,那么第一反应就是有if...else或者switch语句来进行条件判断,根据用户的不同选择而使用不同的处理方...
2020-04-27 20:33:45 10241 31
原创 一个秒杀系统的设计思考
前言秒杀大家都不陌生。自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见。简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题。整体思考首先从高维度出发,整体思考问题。秒杀无外乎解决两个核心问题...
2020-04-25 16:43:31 4529
原创 消息队列探秘 – RabbitMQ 消息队列工作原理
1. 历史RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,...
2020-04-25 10:48:25 12583
原创 两小时入门 Docker
1、引言1.1 Docker是什么Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 使用 Google 公司推出的 Go 语言 进行开发实现。docker是linux容器的一种封装,提供简单易用的容器...
2020-04-14 10:03:47 4231
PMP备考九阴真经—项目管理十大知识领域输入输出、工具和技术暨知识点汇总
2020-10-14
LOMA+280+review+with+answer (1).rar
2020-09-02
springBatch 组件学习教程源码
2020-04-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人