乐趣区

关于数据库:数据库的高可用

1. 实现数据库高可用

1.1 搭建策略

1.1.1 问题阐明

阐明: 如果依据如下的配置实现数据库的代理, 如果数据库主库宕机, 则间接影响整个程序的执行. 所以须要实现高可用机制.
高可用实现的问题:
如果实现了数据库高可用, 能够主动的切换数据库, 因为用户间接操作了从库, 当主库启动时发现数据不统一时, 主从同步的状态将会终止.

1.1.2 双机热备(双主模式)

阐明: 能够通过数据库双主模式实现数据库高可用.
双主模式本质都是主机, 相互备份.

1.1.3 双机热备的实现

之前的配置:
主机: 192.168.126.129
从库: 192.168.126.130
当初的配置:
主机: 192.168.126.130
从库: 192.168.126.129
1). 查看主库状态

2). 实现数据库主从搭建

1.2 数据库高可用实现

1). 编辑配置文件

2). 上传配置文件:

3). 重启 mycat 服务器

1.3 数据库高可用实测试

1. 启动服务器, 测试 mysql 数据库是否失常.



3). 批改数据库中的内容, 重启主数据库, 检查数据是否同步


1.4 查看端口占用状况


2 Redis 缓存学习

2.1 优化现有架构

阐明: 通过缓存服务器能够无效的晋升用户的拜访的效率.
注意事项:
1. 缓存的数据结构 应该选用 K- V 构造 只有 key 惟一 那么后果必然雷同…
2. 缓存中的数据不可能始终存储, 须要定期将内存数据进行优化 LRU 算法…
3. 缓存要求运行速度很快, C 语言实现… 运行在内存中.
4. 如果缓存运行的数据在内存中, 如果断电 / 宕机, 则内存数据间接失落. 实现内存数据的 长久化操作(磁盘).

2.2 Redis 缓存服务器

网址: http://www.redis.cn/

2.2.1 Redis 介绍

Redis 是一个开源(BSD 许可)的,内存中的数据结构存储系统,它能够用作数据库、缓存和消息中间件 。它反对多种类型的数据结构,如 字符串(strings),散列(hashes),列表(lists),汇合(sets),有序汇合(sorted sets) 与范畴查问,bitmaps,hyperloglogs 和 天文空间(geospatial)索引半径查问。Redis 内置了 复制(replication),LUA 脚本(Lua scripting),LRU 驱动事件(LRU eviction),事务(transactions)和不同级别的 磁盘长久化(persistence),并通过 Redis 哨兵(Sentinel)和主动 分区(Cluster)提供高可用性(high availability)。
nginx: 3- 5 万 / 秒
redis: 读: 11.2 万 / 秒 写: 8.6 万 / 秒 均匀 10 万 / 秒
吞吐量: 50 万 / 秒

2.2.2 Redis 装置

1). 解压 redis 文件

2). 挪动文件 / 批改文件

3). 装置 Redis
命令 1: make
命令 2: make install

2.2.3 批改 redis.conf 配置文件

1. 批改 IP 绑定

2. 敞开保护模式

3. 开启后盾启动

2.2.4 Redis 命令

1. 启动 redis redis-server redis.conf

2. 查看 redis 服务项

  1. 进入 redis 客户端


4. 敞开 redis
1). 命令 redis-cli -p 6379 shutdown
2).kill 命令 kill -9 pid 号

2.3 SpringBoot 整合 Redis

2.3.1 导入 jar 包

2.3.2 入门案例

2.3.3 构建我的项目构造

退出移动版