个人简介

Echo Blog


江湖无名 安心练剑
  • Distributed ID-05-系统时钟,高并发下的时间优化
    高并发下的时间戳优化 /** * <p> * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the L...
    2018-09-05 00:53:10 | Distributed
  • Distributed ID-04-SnowFlake
    概述 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cassand...
    2018-09-05 00:53:10 | Distributed
  • Distributed ID-03-Random
    实现方式 package com.github.houbb.heaven.util.id.impl; import com.github.houbb.heaven.annotation.ThreadSafe; import com.github.houbb.heaven.util.id.Id; import com.github.houbb.heaven.util.util.DateUt...
    2018-09-05 00:53:10 | Distributed
  • Distributed ID-02-UUID
    UUID 基本实现 @Override public String genId() { return UUID.randomUUID().toString() .replaceAll(PunctuationConst.MIDDLE_LINE, PunctuationConst.EMPTY); } 测试代码 System.out.println(new...
    2018-09-05 00:53:10 | Distributed
  • Distributed ID-01-Overview
    分布式 ID 生成的需求 不依赖数据库。 详细理解原理 (1)写文件。提前取1000个,然后将下一个值写入文件。 (2)预取+时间戳+线程好+机器码 时间时钟怎么保持一致? id 递增的线程安全,持久化。 基础知识 网卡 线程 并发安全 持久化 (如果递增) 位运算,进制转换。 常见参考实现 UUID GUID timestampe+randomNum snowf...
    2018-09-05 00:53:10 | Distributed
  • Database Sharding-03-最佳实践
    业务背景 移动互联网时代,海量的用户每天产生海量的数量,比如: 用户表 订单表 交易流水表 以支付宝用户为例,8亿;微信用户更是10亿。订单表更夸张,比如美团外卖,每天都是几千万的订单。淘宝的历史订单总量应该百亿,甚至千亿级别,这些海量数据远不是一张表能Hold住的。事实上MySQL单表可以存储10亿级数据,只是这时候性能比较差,业界公认MySQL单表容量在1KW以下是最佳状态,因...
    2018-09-04 08:26:49 | Database
  • Database Sharding in action
    单 key 业务 用户中心 用户中心是一个非常常见的业务,主要提供用户注册、登录、信息查询与修改的服务,其核心元数据为: User(uid, login_name, passwd, sex, age, nickname, …) 其中: uid 为用户ID,主键 login_name, passwd, sex, age, nickname 等用户属性 数据库设计上,一般来说在业务...
    2018-09-04 08:26:49 | Database
  • Database Sharding
    分表分库 概念 常见分表分库方式 按照功能分库 按照功能进行分库。常见的分成 6 大库: 1 用户类库:用于保存了用户的相关信息。 2 业务类库:用于保存主要业务的信息。比如主要业务是笑话,用这个库保存笑话业务。 3 内存类库:主要用Mysql的内存引擎。前台的数据从内存库中查找,速度快。 4 图片类库:主...
    2018-09-04 08:24:49 | Database