当前位置: 首页 > news >正文

长沙企业网站建设价格电商定制开发

长沙企业网站建设价格,电商定制开发,新品发布会文案,深圳建设企业基于Docker实现读写分离 1 redis集群扩容缩容 1.1 集群扩容 1.2 集群缩容 2 缓存优化 2.1 缓存更新策略 2.2 穿透#xff0c;击穿#xff0c;雪崩 3 mysql主从搭建 4 django实现读写分离 1 redis集群扩容缩容 1.1 集群扩容 # 6台机器#xff0c;3个节点集群# 8台机器击穿雪崩 3 mysql主从搭建 4 django实现读写分离 1 redis集群扩容缩容 1.1 集群扩容 # 6台机器3个节点集群# 8台机器4个节点集群 #1 准备两台机器sed s/7000/7006/g redis-7000.conf redis-7006.conf sed s/7000/7007/g redis-7000.conf redis-7007.conf #2 启动两台机器 ./src/redis-server ./redis-7006.conf ./src/redis-server ./redis-7007.confcluster nodes cluster info# 3 两台机器加入到集群中去 ./src/redis-cli --cluster add-node 127.0.0.1:7006 127.0.0.1:7000 ./src/redis-cli --cluster add-node 127.0.0.1:7007 127.0.0.1:7000# 4 让7007复制7006 ./src/redis-cli -p 7007 cluster replicate e592233d38520ebd125de849ea69da3fe9482ac1# 5 迁移槽 ./src/redis-cli --cluster reshard 127.0.0.1:7000 -迁移4096个槽-7006的机器接收槽-all1.2 集群缩容 # 第一步下线迁槽把7006的1366个槽迁移到7000上 redis-cli --cluster reshard --cluster-from baf261f2e6cb2b0359d25420b3ddc3d1b8d3bb5a --cluster-to 050bfd3608514d4db5d2ce5411ef5989bbe50867 --cluster-slots 1365 127.0.0.1:7000 yes# 1366 迁移给7001 redis-cli --cluster reshard --cluster-from baf261f2e6cb2b0359d25420b3ddc3d1b8d3bb5a --cluster-to 9cb2a9b8c2e7b63347a9787896803c0954e65b40 --cluster-slots 1366 127.0.0.1:7001 yes# # 1366 迁移给7002 redis-cli --cluster reshard --cluster-from baf261f2e6cb2b0359d25420b3ddc3d1b8d3bb5a --cluster-to d3aea3d0b4cf90f58252cf3bcd89530943f52d36 --cluster-slots 1366 127.0.0.1:7002 yes#第二步下线节点 忘记节点关闭节点 ./src/redis-cli --cluster del-node 127.0.0.1:7000 9c2abbfaa4d1fb94b74df04ce2b481512e6edbf3 # 先下从再下主因为先下主会触发故障转移 ./src/redis-cli --cluster del-node 127.0.0.1:7000 baf261f2e6cb2b0359d25420b3ddc3d1b8d3bb5a# 第三步关掉其中一个主另一个从立马变成主顶上 重启停止的主发现变成了从2 缓存优化 2.1 缓存更新策略 # redis数据放在内存中输入如果满了再放数据---》肯定能放进去-老数据怎么样# 方案 LRU -Least Recently Used,没有被使用时间最长的LFU -Least Frequenty User,一定时间段内使用次数最少的FIFO -First In First Out 先进先出最早放的线删除2.2 穿透击穿雪崩 ### 缓存穿透 #描述 缓存穿透是指缓存和数据库中都没有的数据而用户不断发起请求如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者攻击会导致数据库压力过大。 #解决方案 1 接口层增加校验如用户鉴权校验id做基础校验id0的直接拦截 2 从缓存取不到的数据在数据库中也没有取到这时也可以将key-value对写为key-null缓存有效时间可以设置短点如30秒设置太长会导致正常情况也没法使用。这样可以防止攻击用户反复用同一个id暴力攻击 3 通过布隆过滤器实现### 缓存击穿 #描述 缓存击穿是指缓存中没有但数据库中有的数据一般是缓存时间到期这时由于并发用户特别多同时读缓存没读到数据又同时去数据库去取数据引起数据库压力瞬间增大造成过大压力 #解决方案 设置热点数据永远不过期。### 缓存雪崩 #描述 缓存雪崩是指缓存中数据大批量到过期时间而查询数据量巨大引起数据库压力过大甚至down机。和缓存击穿不同的是 缓存击穿指并发查同一条数据缓存雪崩是不同数据都过期了很多数据都查不到从而查数据库。 # 解决方案 1 缓存数据的过期时间设置随机防止同一时间大量数据过期现象发生。 2 如果缓存数据库是分布式部署将热点数据均匀分布在不同搞得缓存数据库中。 3 设置热点数据永远不过期。3 mysql主从搭建 # 之前做过redis的主从很简单 # mysql 稍微复杂一些 搭建mysql主从的目的是-读写分离-单个实例并发量低提高并发量-只在主库写读数据都去从库----》读多写少# mysql 主从原理 步骤一主库db的更新事件(update、insert、delete)被写到binlog(二进制日志) 步骤二从库发起连接连接到主库 步骤三此时主库创建一个binlog dump thread线程把binlog的内容发送到从库 步骤四从库启动之后创建一个I/O线程读取主库传过来的binlog内容并写入到relay log(中继日志). 步骤五还会创建一个SQL线程从relay log里面读取内容从Exec_Master_Log_Pos位置开始执行读取到的更新事件将更新内容写入到slave的db.# 搭建步骤 准备两台机器 mysql的docker镜像模拟两台机器-主库8.130.125.9 33307-从库8.130.125.9 33306# 第一步拉取mysql5.7的镜像# 第二步创建文件夹,文件目录映射mkdir /home/mysqlmkdir /home/mysql/conf.dmkdir /home/mysql/data/touch /home/mysql/my.cnfmkdir /home/mysql1mkdir /home/mysql1/conf.dmkdir /home/mysql1/data/touch /home/mysql1/my.cnf# 第三步重要编写mysql配置文件(主从)#### 主的配置#### [mysqld] usermysql character-set-serverutf8 default_authentication_pluginmysql_native_password secure_file_priv/var/lib/mysql expire_logs_days7 sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections1000server-id100 log-binmysql-bin[client] default-character-setutf8[mysql] default-character-setutf8#### 从库的配置##### [mysqld] usermysql character-set-serverutf8 default_authentication_pluginmysql_native_password secure_file_priv/var/lib/mysql expire_logs_days7 sql_modeSTRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections1000server-id101 log-binmysql-slave-bin relay_logedu-mysql-relay-bin [client] default-character-setutf8[mysql] default-character-setutf8#第三步启动mysql容器并做端口和目录映射 docker run -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 33307:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD123456 mysql:5.7docker run -di -v /home/mysql1/data/:/var/lib/mysql -v /home/mysql1/conf.d:/etc/mysql/conf.d -v /home/mysql1/my.cnf:/etc/mysql/my.cnf -p 33306:3306 --name mysql-slave -e MYSQL_ROOT_PASSWORD123456 mysql:5.7#第四步连接主库mysql -uroot -P33307 -h 10.0.0.102 -p#在主库创建用户并授权##创建test用户create user test% identified by 123;##授权用户grant all privileges on *.* to test% ;###刷新权限flush privileges;#查看主服务器状态(显示如下图)show master status; # 第五步连接从库mysql -uroot -P33306 -h 10.0.0.102 -p#配置详解change master to master_hostMySQL主服务器IP地址, master_user之前在MySQL主服务器上面创建的用户名 master_password之前创建的密码, master_log_fileMySQL主服务器状态中的二进制文件名, master_log_posMySQL主服务器状态中的position值;change master to master_host8.130.125.9,master_port33307,master_usertest,master_password123,master_log_filemysql-bin.000003,master_log_pos0;#启用从库start slave;#查看从库状态如下图show slave status\G;# 第六版在主库创建库创建表插入数据看从库4 django实现读写分离 # 第一步配置文件配置多数据库 DATABASES {default: {ENGINE: django.db.backends.sqlite3,NAME: BASE_DIR / db.sqlite3,},db1: {ENGINE: django.db.backends.sqlite3,NAME: BASE_DIR / db1.sqlite3,} }# 第二步手动读写分离 Book.objects.using(db1).create(name西游记)# 第三步自动读写分离 写一个py文件db_router.py写一个类 class DBRouter(object):def db_for_read(self, model, **hints):# 多个从库 [db1,db2,db3]return db1def db_for_write(self, model, **hints):return default# 第三步配置文件配置 DATABASE_ROUTERS [mysql_master_demo.db_router.DBRouter, ]# 以后自动读写分离 # 多从库负载 # 分库分表
http://www.tj-hxxt.cn/news/218958.html

相关文章:

  • 网站开发主要语言成都定制网站设
  • 张家港网站关键词优化下载app平台
  • 农业信息网站建设概念个人婚礼网站模板
  • 怎么做简单的企业网站如何做网站主题
  • 网站建设需要交文化建设税吗徐州城乡建设网站
  • 模仿建设银行网站上海网站建设哪个平台好
  • 关于开展网站建设工作的通知成全视频免费观看在线看城南
  • 帮忙做网站川汇网站建设
  • jsp可以做网站首页吗漳州seo建站
  • 长治专业做网站虚拟主机免费云服务器
  • 下载建设网站软件培训中心网站建设论文
  • 彩票网站建设哪里嘉兴网站建设优化
  • 网站源码如何优化只做网站的
  • 高端企业网站开发wordpress 淘宝客 采集
  • 西安网站开发公司地址房地产基础知识300问
  • 自已电脑做网站服务器刚做的婚恋网站怎么推广
  • 网站怎么放到服务器百度网网页版登录
  • 网站建设大致分哪几块长沙工商注册网上登记
  • 黄页推广引流网站建设网证书查询平台官网
  • 成交型网站建设价格如何在自己网站做解析api
  • 阿里云服务器做网站django制作相册音乐相册模板
  • 网站工程是干啥的iis网站发布教程
  • 天津网站建设培训wordpress添加
  • 百度做一个网站怎么做呢内容分享网站设计
  • 网站开发哈尔滨网站开发公司电话门店管理系统软件免费
  • 怎么查看一个网站的浏览量某购物网站建设方案
  • 单位的网站的建设方案怎么做网页界面
  • 网站开发属于什么行业北京品牌网站定制公司
  • 空白网站怎么建国外网站设计案例
  • 团购网站模板下载深圳中光建设有限公司