mycat

docker挂载本地目录的方法总结:

此生再无相见时 提交于 2020-08-10 22:04:19
docker挂载本地目录的方法总结: Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定: # docker run -it -v /test:/soft centos /bin/bash 这样在容器启动后,容器内会自动创建/soft的目录。通过这种方式,我们可以明确一点,即-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。 貌似简单,其实不然,下面我们来验证一下: 一、容器目录不可以为相对路径 [ root@localhost ~ ] # docker run - it - v / test:soft centos / bin / bash invalid value " / test:soft" for flag - v: soft is not an absolute path See ' docker run --help ' . 直接报错,提示soft不是一个绝对路径,所谓的绝对路径,必须以下斜线“/”开头。 二、宿主机目录如果不存在,则会自动生成 如果宿主机中存在/test目录,首先删除它 [ root@localhost ~ ] # rm - rf / test [ root@localhost ~ ] # ls /

MySQL 对于千万级的大表要怎么优化?

走远了吗. 提交于 2020-08-10 00:45:00
首先采用Mysql存储千亿级的数据,确实是一项非常大的挑战。Mysql单表确实可以存储10亿级的数据,只是这个时候性能非常差,项目中大量的实验证明,Mysql单表容量在500万左右,性能处于最佳状态。 针对大表的优化,主要是通过数据库分库分表来解决, 目前比较普遍的方案有三个:分区,分库分表,NoSql/NewSql。 实际项目中,这三种方案是结合的,目前绝大部分系统的核心数据都是以RDBMS存储为主,NoSql/NewSql存储为辅。 分区 首先来了解一下分区方案。 分区表是由多个相关的底层表实现的。这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个相同的索引。这个方案对用户屏蔽了sharding的细节,即使查询条件没有sharding column,它也能正常工作(只是这时候性能一般)。 不过它的缺点很明显: 很多的资源都受到单机的限制,例如连接数,网络吞吐等。如何进行分区,在实际应用中是一个非常关键的要素之一。 下面开始举例: 以客户信息为例,客户数据量5000万加,项目背景要求保存客户的银行卡绑定关系,客户的证件绑定关系,以及客户绑定的业务信息。 此业务背景下,该如何设计数据库呢。项目一期的时候,我们建立了一张客户业务绑定关系表

Mycat1/3--读写分离

倾然丶 夕夏残阳落幕 提交于 2020-08-09 21:23:22
1.核心概念 数据库中间件:对应用mycat就是数据库服务,mycat是后端数据库集群的代理。 (1)逻辑概念 逻辑库:mycat数据库服务中定义、管理的数据库。 逻辑表:逻辑库中包含的需分库分表存储的表。 dataNode:数据节点(分片节点),逻辑表分片的存放节点。 dataHost:数据主机(节点主机),数据节点所在的主机。 schema.xml < mycat:schema > < schema name = ”testdb” > < table name = ”orders” primaryKey = ”ID” type = ”global” dataNode = ”dn1,dn2” /> </ schema > < dataNode name = ”dn1” dataHost = ”dhost1” database = ”db1”/ > < dataHost name = ”dhostl” ... > < heartbeat > select user() </ heartbeat > < writeHost host = ”hostM1” url = ”localhost:3306”... <readHost host = ”hostS2” url = ”192.168.1.2:3306”.../ > </ writeHost > </ dataHost > </

RocketMQ 核心原理,这篇文章讲透了!

百般思念 提交于 2020-08-09 13:31:09
回复“ 1024 ”获取 2000+ 道互联网大厂面试题 如何把开源项目用好,很大程度上是由学习路径决定的: a. fork下来,起一个demo,上一个测试环境,遇到问题再去社区提问或找些实践文章; b. 把官方文档通读一遍,理解下产品、特点和应用场景; c. 先看一遍源代码,理解清楚其中的代码逻辑; d. 看源代码太费劲,找本社区推荐的书系统的梳理下; 本文来自 Apache RocketMQ 的资深用户丁威,他和 MyCat 的核心开发者周继锋合著了《RocketMQ技术内幕:架构设计与实现原理》一书, 目的是希望用图解的方式梳理 RocketMQ的核心原理 ,包括 RocketMQ Topic 的路由注册与剔除机制、消息发送高可用设计、消息存储文件设计、并发消息拉取与消息消费流程、主从同步(HA)、事务消息基本实现原理等,帮助开发者在使用 RocketMQ 的同时,还能对其核心原理了然于心 。 Topic 的路由机制 介绍路由注册机制之前,先简单看下 RocketMQ 的整体架构: Producer: 消息生产者,用于向消息服务器发送消息; NameServer: 路由注册中心; Broker: 消息存储服务器; Consumer: 消息消费者,该流程图中未涉及; 联通性: A. NameServer 之间互不通信,无法感知对方的存在。 B. Producer 生产者与

为什么要分库分表?

折月煮酒 提交于 2020-08-08 18:42:07
为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的? 面试官心理分析 其实这块肯定是扯到 高并发 了,因为分库分表一定是为了 支撑高并发、数据量大 两个问题的。而且现在说实话,尤其是互联网类的公司面试,基本上都会来这么一下,分库分表如此普遍的技术问题,不问实在是不行,而如果你不知道那也实在是说不过去! 面试题剖析 为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?) 说白了,分库分表是两回事儿,大家可别搞混了,可能是光分库不分表,也可能是光分表不分库,都有可能。 我先给大家抛出来一个场景。 假如我们现在是一个小创业公司(或者是一个 BAT 公司刚兴起的一个新部门),现在注册用户就 20 万,每天活跃用户就 1 万,每天单表数据量就 1000,然后高峰期每秒钟并发请求最多就 10 个。我的天,就这种系统,随便找一个有几年工作经验的,然后带几个刚培训出来的,随便干干都可以。 结果没想到我们运气居然这么好,碰上个 CEO 带着我们走上了康庄大道,业务发展迅猛,过了几个月,注册用户数达到了 2000 万!每天活跃用户数 100 万!每天单表数据量 10 万条!高峰期每秒最大请求达到 1000!同时公司还顺带着融资了两轮,进账了几个亿人民币啊

Mycat2/4---分库分表设计

故事扮演 提交于 2020-08-06 16:02:58
准备 (1)准备数据库服务,作为学习用,就用一个数据库服务。 dhost1: localhost (2)在dhost1服务创建三个数据库 CREATE DATABASE db1 CHARCTER SET 'utf8' ; CREATE DATABASE db2 CHARCTER SET 'utf8' ; CREATE DATABASE db3 CHARCTER SET 'utf8' ; (3)配置好dataHost dataNode 在这里插入代码片 1.表分类 (1)分片表 分片表,是指那些有很大数据,需要切分到多个数据库的表,这样每个分片都有一部分数据,所有分片构成了完整的数据。 table name = ”t_goods” primaryKey = ”vid” autoIncrement = ”true” dataNode = ”dn1,dn2” rule = ”rulel” / > (2)非分片表 一个数据库中并不是所有的表都很大,某些表是可以不用进行切分的,非分片是相对分片表来说的,就是那些不需要进行数据切分的表。 < table name = ”t_node” primaryKey = ”vid” autolncrement = ”true” dataNode = ”dn1”/ > 示例: 商家表,数量500万内 CREATE TABLE t_shops ( id

《MySQL性能优化和高可用架构实践》于2020-07-01上市

痞子三分冷 提交于 2020-08-06 08:58:51
 互联网公司里面几乎很少有公司不用MySQL,国内互联网巨头都在大规模使用MySQL。如果把MySQL比喻成数据库界的一条巨龙,则性能优化和高可用架构设计实践就是点睛之笔。   《MySQL性能优化和高可用架构实践》将详细讲解MySQL5.7高可用和性能优化技术,细致梳理思路,并与真实生产案例相结合,通过原理阐述到实战部署,帮助读者将所学知识点运用到实际工作中。 本书作者目前是在腾讯云担任架构师,之前服务于微软公司,业界大咖联袂推荐。   《MySQL性能优化和高可用架构实践》分为13章,详解MySQL5.7数据库体系结构,InnoDB存储引擎,MySQL事务和锁,性能优化,服务器全面优化、性能监控,以及MySQL主从复制、PXC、MHA、MGR、Keepalived+双主复制等高可用集群架构的设计与实践过程,并介绍海量数据分库分表和Mycat中间件的实战操作。   《MySQL性能优化和高可用架构实践》既适合有一定基础的MySQL数据库学习者、MySQL数据库开发人员和MySQL数据库管理人员阅读,同时也能作为高等院校和培训学校相关专业师生的参考用书。 mysql性能优化和高可用架构实战— 资源下载地址 链接: https://pan.baidu.com/s/1rTb07Q4rALt5PEkB60aVGQ 提取码:p1yg 京东购买链接: https://item.jd.com

13_ redis数据库高可用

这一生的挚爱 提交于 2020-08-05 20:26:10
数据库高可用 1.1 数据库高可用说明 当数据库的主库宕机之后.如果没有高可用机制,则可能导致整个服务全部不能正常的使用. 解决策略: 双主模式(双机热备) 1.2 数据库双机热备实现 1.2.1 双机热备的说明 将2台数据库设置为双主模式.互为主从的结构.其中任意的数据库服务器既是主机.也是从机. 1.2.1 双机热备实现 规划: 之前配置: 192.168.126.129:3306 主机. 192.168.126.130:3306 从机. 优化后的配置 192.168.126.129:3306 主机.从机 192.168.126.130:3306 从机.主机 配置: 1).检查130 主机的状态信息 2).实现主从的挂载 操作的是129 / 129 我是主机 现在当从机 / / 实现主从挂载 / CHANGE MASTER TO MASTER_HOST=“192.168.126.130”, MASTER_PORT=3306, MASTER_USER=“root”, MASTER_PASSWORD=“root”, MASTER_LOG_FILE=“mysql-bin.000001”, MASTER_LOG_POS=714; / 2.开启主从服务 / START SLAVE / 3.检查主从的状态 / SHOW SLAVE STATUS; 1.2.2 双机热备的测试 测试A:

操作系统实验报告

瘦欲@ 提交于 2020-08-05 04:34:20
操作系统实验报告 1. myecho.c 1.1. 实验内容 myecho.c的功能与系统echo程序相同 接受命令行参数,并将参数打印出来 1.2. 效果展示 myecho$ ./myecho a b c a b c 1.3. 实验思路和关键代码 读取输入的参数,按顺序输出 int main(int argc, char *argv[]) { for (int i = 1; i < argc; i++) { printf("%s ", argv[i]); } printf("\n"); return 0; } 2. mycat.c 2.1. 实验内容 mycat.c的功能与系统cat程序相同 mycat将指定的文件内容输出到屏幕 要求使用系统调用open/read/write/close实现 2.2. 效果展示 mycat$ ./mycat mycat.c //以下显示mycat.c文件的内容 2.3. 实验思路和关键代码 读取参数, 根据参数打开相应文件 FILE *fp; int fsize; int fr; char *buffer; fp = fopen(argv[1], "r"); if (!fp) { printf("不能打开该文件\n"); exit(0); } 通过设置文件指针读取文件大小,分配缓冲区 fseek ( fp , 0 , SEEK_END ) ;

3、MySql第三章,分库分表、MyCat概述及安装登录

孤街醉人 提交于 2020-07-29 07:19:40
MySql第三章,分库分表、MyCat概述及安装登录 先下定论,数据库优化顺序: 1、单库单表; 2、单库单表主从复制; 3、垂直分库; 4、水平分区; 5、水平分表; 一、概述 1、为什么要分库分表 数据库的复制能解决访问问题(主从复制),并不能解决大规模的并发写入问题,由于无法进行分布式部署,而一台服务器的 资源(CPU、磁盘、内存、I0等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。要解决这个问题就要 考虑对数据库进行分库分表了。 2、分库分表的优点 1、解决磁盘系统最大的文件限制 2、减少增量数据写入时的锁对查询的影响,减少长时间查派造成的表锁,影响写入操作等锁竞争的情况,节省排队的时间开 支,增加吞吐量。 3、由于单表数量下降,常见的查询操作由于减少了需要扫描的记录,使得单表单次查询所需的检索行数变少,减少了磁盘 I0,时延变短。 3、什么是分库--垂直切分 分库又叫垂直切分,就是把原本存储于一个库的表拆分存储到多个库上,通常是将表按照功能模块、关系密切程度划分出来, 部署到不同的库上。如果数据库是因为表太多而造成海量数据,并且项目的各项业务逻辑划分清晰、低耦合,那么规则简单朋 了、容易实施的首选就是分库。 [如:将一个电商数据库拆分为:user库、shop库、ums库、home库、promo库、manager库等] 分库的优点是:实现简单