码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • nginx负载均衡和高可用


    HA高可用

            选择的原因:开源,免费

            高可用:high availbility:至少有2个以上的节点提供服务,互相备份,其中的一个坏了,另外一个可以顶替。

    • master:主要的,对外提供服务的

    • backup:备份的,不对外提供服务,在master是好的情况下;一旦master挂了,backup马上就会接替master的工作,成为master

    单点故障

            某些重要的应用,只有1个节点,如果这个节点出现故障,导致服务不可用。

    高可用软件

            keepailved、HA proxy、heartbeat

    keepalived 的功能

    • HA

    • loadbalance 使用的是lvs

    nginx+keepalived高可用配置详解ljx1528的博客-CSDN博客keepalived+nginx配置

    LVS(Linux virtual Server)

    keepalived这个软件会联系内核的lvs

    负载均衡

    nginx4层和7层负载均衡有什么区别

    nginx默认使用的是7层的,因为要看协议,而lvs看端口号

    支持的服务数量

    7层:http

    4层:

    • http

    • MySQL

    • dns

    • ftp

    • 等

    3层负载均衡

    一般在机房的基础设施上做负载均衡(路由器)

    dns域名负载均衡

    将双vip使用起来,发布出去给客户使用

    vrrp详解(网络层)

    虚拟路由冗余协议,它使用ip多播数据包进行封装,组地址为224.0.0.18,最多255个vrrp路由器。

    VRRP包的源地址是本机地址,目的地址必须为224.0.0.18,为多播地址;ip协议号为112;IP包的TTL值为255

    VRRP协议详解_天蓝Skyline的博客-CSDN博客_vrrp

    1. ! Configuration File for keepalived
    2. ​
    3. global_defs {
    4.   notification_email {
    5.     acassen@firewall.loc
    6.     failover@firewall.loc
    7.     sysadmin@firewall.loc
    8.   }
    9.   notification_email_from Alexandre.Cassen@firewall.loc
    10.   smtp_server 192.168.200.1
    11.   smtp_connect_timeout 30
    12.   router_id LVS_DEVEL
    13.   vrrp_skip_check_adv_addr
    14.   #vrrp_strict
    15.   vrrp_garp_interval 0
    16.   vrrp_gna_interval 0
    17. }
    18. ​
    19. vrrp_instance VI_1 {
    20.   state MASTER
    21.   interface ens33
    22.   #id自己的机器要一样,不一样就会产生脑裂现象
    23.   virtual_router_id 51
    24.   #优先级,优先级越高越容易成为master
    25.   priority 100
    26.   #成为master之后每隔1秒向外面发出宣告证明自己还是ok的
    27.   advert_int 1
    28.   #认证口令
    29.   authentication {
    30.       auth_type PASS
    31.       auth_pass 1111
    32.   }
    33.   #虚拟ip
    34.       virtual_ipaddress {
    35.       192.168.200.16
    36.       192.168.200.17
    37.       192.168.200.18
    38.   }

    脑裂

    原因:

    1. 防火墙组织了keepalived的vrrp消息的通告

    2. virtual_router_id不一样的时候

    健康检测

    • 主动检测:LB每隔一段时间就去检查下后端的real server的状态,不管是否有client发请求过来,都会区检查

    • 被动检测:当client发请求给LB,然后LB再去转发请求给后端的real server,这个时候如果后端的服务器出现问题了,LB就发现了,被客户机逼着去检查后端的real server

    nginx调优(参数优化)

    1. 参数调优

      1. 比如更改worker_connections 1024;worker_processes 4;都算调优

      2. ulimit -n 1000 -内核参数调优 --文件描述符 --进程

      3. vm.swappiness = 0 -》先使用物理内存,最后使用swap分区,内存调优

      4. keepalived 65;

    2. 功能开启或者关闭

  • 相关阅读:
    实现资源利用率达60% 云原生技术开启节能减排新思路
    python中StringIO和BytesIO
    Kubernetes中Pod的扩缩容介绍
    《吐血整理》高级系列教程-吃透Fiddler抓包教程(31)-Fiddler如何抓取Android系统中Flutter应用程序的包
    【语音识别】基于LMS算法消除嘈杂的鸟类语音信号中的噪声后识别其对应的鸟类物种(Matlab代码实现)
    【C#】【winform】Microsoft Visual Studio Installer Project 打包应用程序全部过程
    汽车流通行业4S门店生存性指标:零服吸收率
    代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II,54. 螺旋矩阵
    多旋翼无人机仿真 rotors_simulator 是如何悬停的(二)
    利用Flutter的特性最大程度提升iOS应用的用户体验
  • 原文地址:https://blog.csdn.net/a1991376352/article/details/125963027
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号