古道长亭

Contact me with ixiaoqiang0011@gmail.com


  • 首页

  • 归档

  • 分类

  • 关于

  • Book

  • 搜索

Tomcat 源码构建及核心流程剖析

时间: 2022-12-27   |   分类: Tomcat   | 字数: 648 字 | 阅读约: 2分钟

Tomcat 源码构建及核心流程剖析

一、源码构建

仅做简单思路介绍,读源码的方式很多种…

  • 下载源码

    下载xxx-xxx-xxx-src的源码包

  • 解压后在目录下创建pox.xml文件,内容如下

阅读全文 »

分库分表实战

时间: 2022-12-27   |   分类: mysql高级   sharding-sphere   | 字数: 1411 字 | 阅读约: 3分钟

分库分表实战

实战代码示例: https://gitee.com/ixinglan/mysql-demo.git

sharding-jdbc-demo: 详见README.md 介绍

1. 分库实战(这里是水平分库)

我们演示position表的分库

CREATE TABLE `position` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `salary` varchar(10) DEFAULT NULL,
  `city` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4;
  1. 创建两个库 sharding-demo1, sharding-demo2模拟两台服务器
  2. 分别执行position表的创建sql
  3. 创建与数据库对应实体entity: Position 提示: @GeneratedValue(strategy = GenerationType.IDENTITY) 应先注释掉,便于手动造id,观察数据写库策略情况
  4. 创建数据库操作类: PositionRepository
  5. 配置application.yml
  6. 配置application-sharding-database.yml
# datasource, 配置两个数据源, 这里配置我们刚创建的两个库
spring:
  shardingsphere:
    datasource:
      names: ds0,ds1
      ds0:
        type: com.zaxxer.hikari.HikariDataSource
        driver-class: com.mysql.jdbc.Driver
        jdbc-url: jdbc:mysql://localhost:3306/sharding-demo1
        username: root
        password: 123456
      ds1:
        type: com.zaxxer.hikari.HikariDataSource
        driver-class: com.mysql.jdbc.Driver
        jdbc-url: jdbc:mysql://localhost:3306/sharding-demo2
        username: root
        password: 123456
    # sharding-database 先采用 inline 行表达式的形式配置分库策略: 模2
    sharding:
      tables:
        position:
          databaseStrategy:
            inline:
              shardingColumn: id
              algorithmExpression: ds$->{id % 2}
  1. 创建测试类: TestShardingDatabase, 见test1方法

2. 主键生成器

我们在1.1中, 主键是手动指定生成的, 这节我们改造一下,使用主键生成器

阅读全文 »

Tomcat 简单手写实现

时间: 2022-12-26   |   分类: Tomcat   | 字数: 410 字 | 阅读约: 1分钟

Tomcat 简单手写实现

名称:Minicat

Minicat要做的事情:作为⼀个服务器软件提供服务的,也即我们可以通过浏览器客户端发送http请求,Minicat可以接收到请求进⾏处理,处理之后的结果可以返回浏览器客户端。

阅读全文 »

数据分片剖析

时间: 2022-12-26   |   分类: mysql高级   sharding-sphere   | 字数: 4365 字 | 阅读约: 9分钟

数据分片剖析

1. 核心概念

  • 表概念

    • 真实表: 数据库中真实存在的物理表

    • 逻辑表: 在分片之后,同一类表结构的名称(总成)。例如b_order。

    • 数据节点: 在分片之后,由数据源和数据表组成。例如ds0.b_order1

阅读全文 »

Sharding Sphere 介绍

时间: 2022-12-25   |   分类: mysql高级   sharding-sphere   | 字数: 2065 字 | 阅读约: 5分钟

Sharding Sphere 介绍

1. sharding sphere 简介

ApacheShardingSphere是一款开源的分布式数据库中间件组成的生态圈。

它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。

阅读全文 »
18 19 20 21 22 23 24 25 26
古道长亭

古道长亭

Always remember that your present situation is not your final destination. The best is yet to come.

226 日志
57 分类
104 标签
GitHub Gitee
友情链接
  • 古道长亭的BOOK
  • JAVA学习
标签云
  • Mysql
  • 搜索引擎
  • Mybatis
  • 容器
  • 架构
  • 消息队列
  • Flink
  • Sharding sphere
  • 流处理
  • 缓存
© 2019 - 2024 京ICP备19012088号-1
0%