RocketMQ 源码阅读 ---- 顺序消息

一、概述 顺序消息的大致原理是发送的时候,比如同一个订单 id 的发送到同一个 queueId 中,如下单、支付、扣库存这个流程需要保证同一个订单 id 消息有序才能正常执行。 在消费的时候,也只能有一个 consumer 并且单线程从这个 queue 中消费,这样才能保证消息消费顺序。  ...

2018-09-04 21:44:35

阅读数 87

评论数 0

RocketMQ 源码阅读 ---- 延时消息

一、概念解析 定时消息:在某个时间点投递消息,比如 2018-07-09 00:00:00 投递消息 延时消息:在过了多少时间后,投递消息,比如 10 秒后投递消息(开源版本的 RocketMQ 只提供固定几个时间点的延时消息)   二、测试用例 package org.apache....

2018-08-24 17:41:29

阅读数 146

评论数 0

Elastic-Job-Lite 源码阅读 ---- 作业执行

当当网开源分布式弹性调度框架源码分析...

2017-11-07 21:11:57

阅读数 1243

评论数 0

Elastic-Job-Lite 源码阅读 ---- 任务初始化

ZooKeeper + Quartz 为整体技术选型的分布式调度服务

2017-11-06 20:25:47

阅读数 1371

评论数 0

Spring 源码解析 ---- 自定义标签

零. 阅读准备 读这篇文章前先看下预备知识:Spring 自定义标签 一. 代码阅读 自定义标签解析核心代码: public BeanDefinition parseCustomElement(Element ele, BeanDefinition containingBd...

2016-11-15 20:21:12

阅读数 789

评论数 2

谈谈 Memcached LRU

Memcached 还有大量空闲空间,却发生 LRU,到底是什么原因导致的?从内存的结构,从内存的分配,来看懂为什么...

2016-06-21 15:24:39

阅读数 2588

评论数 0

JVM 调优 —— 新生代 Survivor 空间不足

零. 新生代调优规律 增大新生代空间, Minor GC 频率减少, Minor GC 时间上升。 减少新生代空间, Minor GC 频率上升, Minor GC 时间下降 一. 新生代典型问题 先看一段 GC 日志:新生代使用 ParNew, 老年代使用 CMS  {H...

2016-03-14 23:15:18

阅读数 6192

评论数 1

RocketMQ 源码阅读 -- 环境搭建

一、 NameServer 和 Broker 启动根据官网的 quik start 指引,我们可以看到在 distribution/bin 目录下的 mqnamesrv 和 mqbroker 是启动的关键。例如  mqnamesrv #!/bin/sh # Licensed to the Apa...

2018-07-02 15:44:26

阅读数 173

评论数 0

Spring 源码阅读 -- 事务

Spring 事务就是把 JDBC 模板化的代码封装好,本质上还是1. 开启事务2. 业务逻辑(JDBC 操作)3. commit/rollback4. 资源释放(数据库连接)Spring 帮助我们做了上述1,3,4三步(第 2 步是我们的业务代码)下面是我读事务这块的源码整理的思维导图:源码写了...

2018-05-20 17:20:48

阅读数 82

评论数 0

ZooKeeper 使用中的问题:Len error

一. 问题现场:     一天夜里,一台服务器的 zk client 与 server 断开,一般情况下程序写好了自动重连会自动重连成功,但是这一次,怎么重连都连不上了。     client 端日志如下:就是不停地重连,但是连不上,看日志像是服务端挂了,但是其他 client 确好好...

2017-10-28 17:09:38

阅读数 3288

评论数 0

ZooKeeper Watch 回调事件丢失

使用 ZooKeeper 需要注意的问题,没有理解的话,很容易踩坑

2017-09-27 20:31:02

阅读数 1719

评论数 0

ZooKeeper 概述

ZooKeeper: 一个分布式应用的分布式协调服务 ZooKeeper (下面简称 ZK)是一个分布式应用的分布式的、开源的协调服务。ZK 提供一系列原语使得分布式应用可以诸如同步、配置维护、分组和命名等高层次服务。它运行在 Java 环境。 协调服务不好写正确。经常发生的错误有竞态...

2017-08-19 14:15:08

阅读数 478

评论数 0

Redis Cluster 简介与部署

一. Redis Cluster 简介 需要 3.0 及以后版本才能支持 cluster Redis Cluster 带来的优势 使用 redis cluster 安装后,数据会自动分片到多个 redis 节点(如果使用 sentinel 则需要自己实现分片算法)个别节点...

2017-06-27 15:51:15

阅读数 918

评论数 0

JDK 源码解析 —— ThreadLocal

零. 简介 这个类提供本地线程变量。不同于一般的变量,这些变量在他们各自的线程里通过 get、set 访问一个它自己的变量,这是一个独立初始化的变量副本。在一个类中,ThreadLocal 实例一般是 private static 的,期望和一个线程关联状态(如 userId,transacti...

2017-03-17 17:23:37

阅读数 4959

评论数 2

SPI(service provider interface 服务提供者接口)

SPI 平时写代码一般不会用到,但是到了做一些基础组件开发或者是中间件开发的时候,SPI 是一个必须要掌握的知识点...

2017-02-14 16:22:02

阅读数 1344

评论数 0

MongoDB 高可用分片配置(Windows、Linux)

MongoDB 最简易的高可用分片搭建..

2017-01-18 15:28:54

阅读数 430

评论数 0

Spring 源码解析 ---- 事件监听

一. 测试用例 package main.java.com.wenniuwuren.spring.event.listener; import org.springframework.context.ApplicationEvent; /** * 定义监听事件 * Created by...

2016-11-23 10:08:48

阅读数 1137

评论数 0

Spring 自定义标签

扩展自定义标签步骤(前提要把 Spring Core 包加入项目): 创建一个需要扩展的组件定义一个 XSD 文件描述组件内容创建一个文件,实现 BeanDefinitionParse 接口,用来解析 XSD 文件中的定义和组件定义创建一个 Handler 文件,扩展自 NamespaceHan...

2016-11-15 15:23:12

阅读数 1003

评论数 0

MongoDB 简介

一. 概述 MongoDB 是一个开源的文档数据库,提供了高性能、高可用和自动分片特性。 二. 文档数据库 在 MongoDB 中一条记录就是一个文档,就是一个键值对数据结构。MongoDB 文档和 JSON 对象相似。值可以包含其他文档、数组和数组文档。 使用...

2016-10-27 15:06:12

阅读数 821

评论数 0

MongoDB 分片键

本文介绍了 MongoDB 在做分片时候对 Shard Key 的选择,当然这也适用于其他数据库的分片,要优化数据库性能,本文会给你一定的启发..

2016-10-27 14:02:29

阅读数 4856

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭