熔断机制、SBA和Nginx

2024-01-12 08:04
文章标签 nginx 机制 熔断 sba

本文主要是介绍熔断机制、SBA和Nginx,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.熔断处理:

工作原理:统计服务调用的慢调用,异常数,异常比例,超过阈值时,就会发生熔断,截断访问该服务的一切请求连接

状态机的3个状态:

1.closed:关闭状态,断路器放行所有请求

2.open:打开状态,断路器发生熔断

3.half-open:半开状态,会放行一次请求

3.1请求成功:回到closed状态

3.2请求失败:回到open状态

4.断路器熔断判断策略:慢调用、异常数、异常比例

慢调用比例:RT=300ms(最大响应时间),比例阈值为0.4,最小请求数为5,熔断时间6s,统计时长1000ms,

在1000ms中,若在5次请求中,RT超过300ms的请求达到2次(40%),则会发生熔断,断开6s,6s后会允许一次请求(half-open)。

2.sentinel的持久化(sentinel通过微服务,读取nacos的持久化信息)

2.1引入sentinel-datasource-nacos依赖

2.2在配置文件中配置 数据库(nacos)的连接信息

spring.cloud.sentinel.datasource.ds1.nacos.serverAddr=192.168.200.111:8848

spring.cloud.sentinel.datasource.ds1.nacos.dataId=sentinel-rules

spring.cloud.sentinel.datasource.ds1.nacos.droupId=DEFAULT_GROUP

spring.cloud.sentinel.datasource.ds1.nacos.dataType=json

spring.cloud.sentinel.datasource.ds1.nacos.ruleType=flow

2.3在nacos中添加配置信息

配置列表->添加配置->添加配置信息

    [
{"resource": "/testA",          //资源名"limitApp": "default",         //不区分调用来源"grade": 1,                    //限流阀值类型(QPS)"count": 1,                    //限流阀值"strategy": 0,                 //流控策略,0为直接"controlBehavior": 0,          //流控效果,0为快速失败"clusterMode": false           //不集群
}

]

3.sba(微服务系统监控)

3.1创建sba微服务

3.2监控微服务,在微服务中集成sba

3.2.1在微服务中引入依赖(spring-boot-admin-starter-client)

3.2.2在微服务的配置文件中添加

#sba
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

3.3 sba微服务连接邮箱服务器

3.4 发送服务监控的邮件

Nginx(静态web资源服务器)

1.功能:

1.路由反向代理

2.负载均衡

3.动静分离

2.在nginx中可以写漏桶算法、限流代码、权限校验,可通过lua 脚本实现

3.nginx的配置文件

结构:

全局块

events块

http块

http全局块

server块

server全局块

location块

worker_processes 1; //进程数,最高为50

events { worker_connections 1024; //并发线程数 }

http { include mime.types; default_type application/octet-stream;

sendfile on; keepalive_timeout 65;

server { //server是处理请求的工作实例,server块可以定义多个 listen 80; //监听的端口号 server_name localhost; //localhost是127.0.0.1的别名,但127.0.0.1的优先级高,优先访问 location / { // root html; index index.html index.htm; //在nginx文件中的资源位置, localhost/index.html就可访问 } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

4.反向代理

VPN翻墙(正向代理): 代理内网访问外网

nginx(反向代理):代理外网访问内网,实质是代理内网接受外网的请求

5.反向代理配置

在location块配置

location / {

root html;

index index.html

}

location ~* /api/user/ { // ~*表示:uri ,部分匹配,包含正则表达式,不区分大小写

proxy_pass http://localhost:10100;

}

location ~* /api/order/ {

proxy_pass http://localhost:10200;

}

6.负载均衡配置

在nginx配置文件中,配置upstream,在location块配置

upstream useserver{ //upstream为上游服务器,userserver为负载均衡名

server localhost:10100 weight = 7; //weight配置权重

server localhost:10101 weight=3;

}

server{

...

location ~* /api/user {

proxy_pass http://userserver; //将localhost:10100 替换为负载均衡名

}

}

7.负载均衡算法(random、uri_hash、ip_hash、weight、least_conn)

upstream targetserver{

random

server localhost:10100

server localhost:10101

}

这篇关于熔断机制、SBA和Nginx的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/597258

相关文章

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一

使用Nginx配置文件服务器方式

《使用Nginx配置文件服务器方式》:本文主要介绍使用Nginx配置文件服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 为什么选择 Nginx 作为文件服务器?2. 环境准备3. 配置 Nginx 文件服务器4. 将文件放入服务器目录5. 启动 N

Nginx路由匹配规则及优先级详解

《Nginx路由匹配规则及优先级详解》Nginx作为一个高性能的Web服务器和反向代理服务器,广泛用于负载均衡、请求转发等场景,在配置Nginx时,路由匹配规则是非常重要的概念,本文将详细介绍Ngin... 目录引言一、 Nginx的路由匹配规则概述二、 Nginx的路由匹配规则类型2.1 精确匹配(=)2

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Nginx 访问 /root/下 403 Forbidden问题解决

《Nginx访问/root/下403Forbidden问题解决》在使用Nginx作为Web服务器时,可能会遇到403Forbidden错误,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录解决 Nginx 访问 /root/test/1.html 403 Forbidden 问题问题复现Ng

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f