摘要: Redis自动过期机制应用 需求: 处理订单过期自动取消,比如下单30分钟未支付自动更改订单状态 解决方案: 可以利用redis天然的key自动过期机制,下单时将订单id写入redis,过期时间30分钟,30分钟后检查订单状态,如果未支付,则进行处理但是key过期了redis有通知吗?答案是肯定的。 开启redis key过期 阅读全文
posted @ 2021-12-03 22:10 晨煦风清 阅读(468) 评论(0) 推荐(0) 编辑
摘要: Redisson分布式锁剖析 Redisson是具备多种内存数据网格特性的基于Java编写的Redis客户端框架(Redis Java Client with features of In-Memory Data Grid),基于Redis的基本数据类型扩展出很多种实现的高级数据结构,具体见其官方的简介图。本文要分析的R(ed) 阅读全文
posted @ 2021-12-03 17:16 晨煦风清 阅读(1584) 评论(0) 推荐(0) 编辑
摘要: MySQL B+树索引解析 索引的本质 在没有索引的情况下,查找数据只能按照从头到尾的顺序逐行查找,每查找一行数据,意味着我们要到到磁盘相应的位置去读取一条数据。如果把查询一条数据分为到磁盘中查询和比对查询条件两步的话,到磁盘中查询的时间会远远大于比对查询条件的时间,这意味着在一次查询中,磁盘io占用了大部分的时间。更进一步地 阅读全文
posted @ 2021-12-03 16:55 晨煦风清 阅读(194) 评论(0) 推荐(0) 编辑
摘要: Dubbo 三大中心的部署架构 一、部署架构 Dubbo 作为一个微服务框架,Dubbo SDK 与应用服务绑定在同一个进程内,它跟随着应用服务被部署在分布式集群各个位置,为了在分布式环境下实现各个应用服务间的协作, Dubbo 定义了一些中心化组件,这包括: 注册中心:协调 Consumer 与 Provider 之间的地址注册 阅读全文
posted @ 2021-12-02 09:33 晨煦风清 阅读(166) 评论(0) 推荐(0) 编辑
摘要: Feign Ribbon Hystrix 关系剖析 在微服务架构的应用中, Feign、Hystrix,Ribbon三者都是必不可少的,可以说已经成为铁三角。下面剖析一下关于Feign、Hystrix,Ribbon三者之间的关系,以及三者的超时配置。 Feign介绍 Feign是一款Java语言编写的HttpClient绑定器,在Spring Clo 阅读全文
posted @ 2021-12-01 20:28 晨煦风清 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Ceph工作原理简要分析 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目。随着云计算的发展,ceph乘上了OpenStack的春风,进而成为了开源社区受关注较高的项目之一。Ceph有以下优势: CRUSH算法Crush算法是ceph的两大创新之一,简单来说,ceph摒弃了传统的 阅读全文
posted @ 2021-12-01 19:17 晨煦风清 阅读(714) 评论(0) 推荐(0) 编辑
摘要: Flowable 简要分析 一、Flowable是什么 Flowable是BPMN2.0协议的一种Java版本的实现。 Flowable项目提供了一组核心的开源业务流程引擎,这些引擎紧凑且高效。它们为开发人员、系统管理员和业务用户提供了一个工作流和业务流程管理(BPM)平台。它的核心是一个非常快速且经过测试的动态BPMN流程引 阅读全文
posted @ 2021-12-01 17:39 晨煦风清 阅读(1449) 评论(1) 推荐(1) 编辑
摘要: Activiti架构分析 工作流引擎,应用于解决流程审批和流程编排方面等问题,有效的提供了扩展性的支撑。目前来说,BPMN2.0是工作流领域相对通行化的标准规范,支持这个规范的开源引擎主要有:Activiti,flowable,Jbpm4等。下面着重对Activiti的架构设计进行分析和梳理,同时对流程启动和原子操作的相关代 阅读全文
posted @ 2021-12-01 16:44 晨煦风清 阅读(1101) 评论(1) 推荐(3) 编辑
摘要: Kafka HA设计解析 为何需要Replication 在Kafka在0.8以前的版本中,是没有Replication的,一旦某一个Broker宕机,则其上所有的Partition数据都不可被消费,这与Kafka数据持久性及Delivery Guarantee的设计目标相悖。同时Producer都不能再将数据存于这些Par 阅读全文
posted @ 2021-12-01 11:14 晨煦风清 阅读(98) 评论(0) 推荐(0) 编辑
摘要: MySQL备份还原方案实践 在实际项目中对于数据库的安全是重中之重,为防万一我们需要做好备份工作。备份分为全量备份和增量备份,今天我们就来实践下备份和还原操作。 一、为什么需要备份 在生产环境中数据库可能会遭遇到各种各样的不测从而导致数据丢失, 大致上可以分为以下几种: 硬件故障 软件故障 自然灾害 黑客攻击 误操作 (占比最 阅读全文
posted @ 2021-12-01 09:44 晨煦风清 阅读(86) 评论(0) 推荐(0) 编辑