1.数据库高可用实现1.1数据库读写分离原理1.2Mycat介绍1.3Mycat特点1.支持前端作为MySQL通用代理2.后端JDBC支持Oracle、DB2、SQLServer、mongodb、巨山3.基于心跳自动故障转移,支持读写分离支持MySQLCluster、Galera、Percona、cluster集群支持多分片自动路由和聚合数据支持sum、count、max等常用聚合函数,支持跨库分页支持分表数据库中支持单库全局表任意join,支持跨库2表join基于caltlet的多表join通过全局表和ER关系分片策略支持高效的多表join查询1.4安装具体步骤1.4.1上传安装包1.4.2解压文件命令:'tar-xvfMycat-server-1.7.0-DEV-20170416134921-linux.tar.gz'删除无用文件。如图:1.4.3关于代理服务器配置原则1.4.4编辑server.xml配置文件1.代理端口号-8066常用端口号:8080tomcat服务器,3306mysql数据,80nginx,6379redis2。修改数据库链接3).设置用户名和密码4)。数据库连接池的最大链接数一般为1000。5)。逻辑库说明:仅在逻辑意义上存在于数据库中。1.4.5编辑schema的信息描述。数据库之间的关系。主要配置数据库的具体地址信息`select1`1.5上传配置文件说明:上传配置文件到mycat/conf目录下。注意先删除原来的文件。1.6Mycat启动说明:由于Mycat是在JDK环境下启动的,所以进入bin目录,执行以下命令。1.7关于mycat报错通过catmycat.log|catwrapper.log检查服务是否正确启动1.8项目测试测试目录:1.向数据库添加记录,检查主从是否同步数据。2、修改从库中的记录,使用程序查看数据信息。检查是否有负载均衡效果。3、修改后更新数据,保证数据一致。1.9双机热备1.9.1说明数据库中的主库可能因为特殊原因宕机,那么通过双机热备的配置形式是相互主从。实现数据库高可用的前提:实现数据库主从同步...1.9.2双机热备配置IP:192.168.126.129之前主库,现在作为从库IP:192.168.126.130之前的从库,nowmasterlibrary1.Masterlibrary130configuration:`/*130configurationtodayasmasterlibrary*/SHOWMASTERSTATUS;`2.Slavelibrary129configuration`/*Set129astheslavelibrary*/CHANGEMASTERTOMASTER_HOST="192.168.126.130",MASTER_PORT=3306,MASTER_USER="root",MASTER_PASSWORD="root",MASTER_LOG_FILE="mysql-bin.000001",MASTER_LOG_POS=468;/*启动主从服务*/STARTSLAVE;/*检查主从状态*/SHOWSLAVESTATUS;`1.9.3实现数据库高可用编辑schema配置信息:`select1`1.9.4配置策略1).关闭mycat服务器2)。编辑模式配置文件3)。重启mycat1.9.5测试高可用1).关闭主数据库。2).测试程序是否正常运行。3).重启主库,查看数据是否同步。2、学习Redis缓存2.1缓存机制说明2.2缓存机制原理说明缓存机制:缓存中的数据必须是数据库中的数据。使用缓存的主要目的是减少用户访问物理设备的频率。如果数据库记录有更新,缓存也要同步更新。1、缓存的数据结构为K-V结构,用于数据存储开发语言选择C语言程序缓存数据在内存中的运行环境,掉电时会被擦除。内存数据将被持久化。如果一直添加缓存记录,肯定会造成内存溢出。定期优化缓存机制。1.LRU算法2.LFU算法3.随机数4.TTL缓存也需要实现高可用机制。构建缓存集群。2.3Redis介绍2.3.1官网介绍URL地址:http://www.redis.cnRedis是一个开源(BSD许可)的内存数据结构存储系统,可以作为数据库、缓存、消息中间件使用它支持多种类型的数据结构,例如字符串、散列、列表、集合、带范围查询的排序集合、位图、hyperloglogs和地理空间(geospatial)索引半径查询。Redis内置了复制、LUA脚本(Luascripting)、LRU驱动事件(LRUeviction)、事务(transactions)和不同级别的磁盘持久化(persistence),并通过Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(highavailability)。效率:读取:112000次/s写入:86000次/s平均:100000次/s公式:1-5-82.3.2知识拓展1.数据库:1.关系型数据库mysql数据库/oracle数据二维表行/column2.非关系型数据库mongodb/hbase/Redis一维表中间件:50万次/秒吞吐量2.4Redis安装2.4.1上传安装包2.4.2解压redis说明:tar-xvfredis-5.0.4.tar.gz解压完成后,删除安装包/修改文件名2.4.3Redis安装说明:在redis根目录下执行如下命令:1.make2.makeinstall2.4.4Convert1k=>1000bytes1kb=>1024bytes1m=>1000000bytes1mb=>1024_1024bytes1g=>1000000000bytes1gb=>1024_1024*1024bytes2.4.4修改Redis配置文件1).修改IP绑定2).关闭保护模式3)。启用后端运行2.4.5服务器命令启动redisredis-serverredis.conf进入客户端redis-cli-p6379exitQuit|quit|ctrl+c关闭redisredis-cli-p6379shutdown2.4.6客户端命令说明:根据文档相关资料练习redis命令,复习AOP。