0%

简介

TiDB 是PingCAP公司设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。

点击跳转官方文档

架构

tidb-architecture-v3.1

阅读全文 »

一、paxos

概念

一种基于消息传递且具有高度容错性的共识性算法。

解决分布式共识性问题,即一个分布式系统中各个进程如何进某个值(决议)通过共识达成一致。

Paxos将系统中的角色分为提议者 (Proposer)决策者 (Acceptor)最终决策学习者 (Learner)

  • Proposer-提议者:提出提案(Proposal),信息包括提案编号(Proposal ID)、提议值(Value)。
  • Acceptor-决策者:参与决策,回应Proposer的提案。收到提案后可以接受提案,若Proposal获得多数Acceptors接受,则称该Proposal被批准。
  • Learner-学习者:不参与决策,从Proposers/Acceptors学习最新达成一致的信息(Value)。

Proposer向Acceptor集合发送提案,Acceptor集合中的每个成员都有可能同意该提案且每个Acceptor 只能批准一个提案,只有当一半以上的成员同意了一个提案,就认为该提案被选定了。

阅读全文 »

一、短轮询

客户端使用定时器不停向服务端发送请求

短轮询实现简单,但频繁请求,消耗带宽,耗费服务器资源

二、长轮询

当没有数据时,服务端不返回请求,挂起请求,等待数据处理完毕才返回。

长轮询使得HTTP请求变成一个长连接,长时间没有响应可能触发超时等错误,需要额外策略处理,实现比短轮询复杂

DeferredResult

spring基于 Servlet 3.0提供了DeferredResult ,可以实现对于请求的异步处理,释放容器连接,支持更高并发。

阅读全文 »

mysq

1
2
3
4
5
6
7
8
#搜索镜像
docker search mysql
#拉取镜像
docker pull mysql:5.7
#创建挂载目录
mkdir -p ~/dockerdata/mysql/conf ~/dockerdata/mysql/logs ~/dockerdata/mysql/data
#守护模式启动容器
docker run -di --name myMsql -p 33306:3306 -v ~/dockerdata/mysql/conf:/etc/mysql/conf.d -v ~/dockerdata/mysql/logs:/logs -v ~/dockerdata/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

p 代表端口映射,格式为 宿主机映射端口:容器运行端口

-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是 root 用户的登陆密码

-v ~/dockerdata/mysql/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
-v ~/dockerdata/mysql/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs
-v ~/dockerdata/mysql/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql

阅读全文 »

创建私有仓库-registry

1、拉取私有仓库镜像

docker pull registry

2、启动私有仓库容器

docker run -di --name=registry -p 5000:5000 registry

3、访问私有仓库

访问http://192.168.1.18:5000/v2/_catalog看到 {"repositories":[]}表示私有仓库搭建成功并且内容为空

阅读全文 »