第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Docker前后端分離實(shí)戰(zhàn)之搭建Redis集群和前后端分離

写这篇文章,写完了之后发现没保存上。差点没气死。然后又重写了一遍,吐血。

Redis

  • Redis是Wmware开发的开源免费的KV型NoSQL缓存产品
  • Redis具有很好的性能,最多可以提供10万次/秒的读写
  • 目前新浪微博团队组建了世界上最大规模的Redis集群

Redis高速缓存

  • 高速缓存利用内存保存数据,读写速度远超硬盘
  • 高速缓存可以减少I/O操作,降低I/O压力

RedisCluster

  1. Redis目前的集群方案分为以下几种:
    • 1.RedisCluster:官方推荐,没有中心节点
    • 2.Codis:中间件产品,存在中心节点
    • 3.Twemproxy:中间件产品,存在中心节点
  2. RedisCluster
  3. 无中心节点,客户端与redis节点直连,不需要中间代理层
  4. 数据可以被分片存储(切分存储)
  5. 管理方便,后续可自行增加或摘除节点
  6. 主从同步
  7. Redis集群中的数据库复制是通过主从同步来实现的
  8. 主节点(Master)把数据分发给从节点(Slave)
  9. 主从同步的好处在于高可用,Redis节点有冗余设计
  10. 高可用
  11. Redis集群中应该包含奇数个Master,至少应该有3个Master
  12. Redis集群中每个Master都应该有Slave

图片描述

实战

  • 解除docker集群
  • docker swarm leave -f

导入本地Redis镜像文件,运行Redis容器

docker pull yyyyttttwwww/redis
docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172190.2 redis bash
docker exec -it r1 BASH

配置Redis文件

AOF是开启日志功能
图片描述

跳转到redis目录,执行
./redis-server ../redis.conf

安装redis-trib.rb

redis-trib是基于Ruby的Redis集群命令行工具

  • cp /usr/redis/src/redis-trib.rb
  • cd /usr/redis/cluster
  • apt-get isntall ruby
  • apt-get isntall rubygems
  • gem install redis

利用redis-trib.rb创建Redis集群

参数表示为每个主节点创建一个从节点

  • ./redis-trib.rb create --replicas 1 172.190.2:6379 172.19.0.3:6379 172.1904:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.07:6379

前后端部署

renren-fast包含了tomcat.jar文件,所以工程打包成JAR文件就能独立运行

  • 修改数据库配置文件(数据源,redis集群 tomcat端口)
  • doker禁止跨网段访问,解决方案是把java所在容器的网络对接到宿主机上,不再专门划分网段
  • 利用Maven打包工程
    • mvn clean install -Dmaven.test.skip=true:代表跳过测试代码
    • clean:表示清除之前的JAR文件;
    • install:意味着打包到本地;
    • Dmaven.test.skip=true:代表跳过测试代码

图片描述

  • 创建j1卷 docker volume create j1
  • 运行Java容器,部署并运行JAR文件
  • docker run -it -d --name j1 -v j1:/home/soft(jar文件所在位置) --net=host java
  • docker exec -it j1 bash
  • nohup java -jar /home/soft/renren-fast.jar

其他节点也是类似过程,不过tomcat端口要递增

  • 创建j2卷 docker volume create j2
  • 运行Java容器,部署并运行JAR文件
  • docker run -it -d --name j2 -v j2:/home/soft(jar文件所在位置) --net=host java
  • docker exec -it j2 bash
  • nohup java -jar /home/soft/renren-fast.jar

负载均衡

Nginx是性能非常出色的反向代理服务器,最大可以支持8万/秒的并发访问

  • docker pull nginx
  • 启动(数据卷只能实现目录与目录之间的映射,不能实现文件与文件之间的映射)
  • docker run -it -d --name n1 -v /home/n1/nginx.conf:/etc/nginx/nginx.conf --net=host --privileged nginx

图片描述

双机热备

图片描述

  • docker exec -it n1 bash
  • apt-get update
  • apt-get install keepalived
  • vi /etc/keepalived/keepalived.conf
  • 网卡填写宿主机的网卡,定义虚拟节点
  • service keepalived start
  • ping 192.168.99.151 测试是否成功
  • docker exec -it n2 bash
  • apt-get update
  • apt-get install keepalived
  • vi /etc/keepalived/keepalived.conf
  • 网卡填写宿主机的网卡,定义虚拟节点(这里real_server要换成n2的端口)
  • service keepalived start
  • ping 192.168.99.151 测试是否成功
    图片描述

前端项目部署

图片描述

docker run -it -d --name fnl -v /home/fnl/nginx.conf:/etc/nginx/nginx.conf -v /home/fnl/renren-vue:/home/fnl/renren-vue --net=host --privileged --net=host nginx

图片描述

图片描述

图片描述

图片描述

双机热备

另一个节点略。
VM虚拟机对keepalive的支持不好(挂起虚拟机有影响,需要重启)

图片描述

课后作业

图片描述

  • docker-machine
  • docker-compose
  • docker-swarm
去中心化设计

图片描述

  • docker swarm init
  • –listen-addr ip:port 管理者节点
  • –advertise-addr ip 广播地址
  • docker warm join-token manager
  • docker swarm join-token worker
  • 添加manager或者worker节点到集群,只要执行对应的命令即可
  • docker node ls 只可以在Manager节点执行该命令
    图片描述
    图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

图片描述

容器集群

图片描述

图片描述

图片描述

图片描述
图片描述

图片描述

Portaine

图片描述

图片描述
图片描述

图片描述

图片描述

图片描述

點(diǎn)擊查看更多內(nèi)容
6人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消