个人简介

Echo Blog


江湖无名 安心练剑
  • 分布式标识 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-02-分库分表实战 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-01-分表分库入门介绍
    拓展阅读 mycat c3p0 数据池入门使用教程-00 shardingsphere-分布式数据库生态 分表分库 概念 常见分表分库方式 按照功能分库 按照功能进行分库。常见的分成 6 大库: 1 用户类库:用于保存了用户的相关信息。 2 业务类库:用于保存主要业务的信息。比如主要业务是笑话,用这个库保存笑话业务。 ...
    2018-09-04 08:24:49 | Database
  • MySQL Proxy
    MySQL Proxy MySQL Proxy 是一个简单的程序,位于您的客户端和MySQL服务器之间,可以监控,分析或转换他们的通信。 它的灵活性允许多种用途,包括负载平衡、故障转移、查询分析、查询过滤和修改等。 缺点 1、通过 lua 脚本实现的读写分离,不太稳定,官网不建议用 MySQL Proxy is not GA, and is not recommended for ...
    2018-09-04 07:27:31 | Database
  • Dynamic Spring Datasource
    Spring Datasource 开启本篇话题之前,先说下 spring 数据源的配置。 JDBC 直接配置 <!-- 配置数据源dataSource jdbc方式连接数据源 --> <beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">...
    2018-09-04 05:32:36 | Spring
  • Graph Easy
    Graph Easy Graph::Easy lets you generate graphs consisting of various shaped nodes connected by edges (with optional labels). It can read and write graphs in a variety of formats, as well as rend...
    2018-09-04 01:38:54 | Tool