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

长尾网站搜索引擎网站安全的必要性

长尾网站搜索引擎,网站安全的必要性,网站内容设计遵循的原则有,网站建设需要有什么特点目录 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 1.1.2.超时处理 1.1.3.仓壁模式 1.1.4.断路器 1.1.5.限流 1.1.6.总结 1.2.服务保护技术对比 1.3.Sentinel介绍和安装 1.3.1.初识Sentinel 1.3.2.安装Sentinel 1.4.微服务整合Sentinel 1.1.雪崩问题及解决方案 1.1.1.…

目录

1.1.雪崩问题及解决方案

1.1.1.雪崩问题

1.1.2.超时处理

1.1.3.仓壁模式

1.1.4.断路器

1.1.5.限流

1.1.6.总结

1.2.服务保护技术对比

1.3.Sentinel介绍和安装

1.3.1.初识Sentinel

1.3.2.安装Sentinel

1.4.微服务整合Sentinel

1.1.雪崩问题及解决方案

1.1.1.雪崩问题

微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。

如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。

此时,其它不依赖于服务I的业务似乎不受影响。  

但是,依赖服务I的业务请求被阻塞,用户不会得到响应,则tomcat的这个线程不会释放,于是越

来越多的用户请求到来,越来越多的线程会阻塞:  

服务器支持的线程和并发数有限,请求一直阻塞,会导致服务器资源耗尽,从而导致所有其它服务

都不可用,那么当前服务也就不可用了。

那么,依赖于当前服务的其它服务随着时间的推移,最终也都会变的不可用,形成级联失败,雪崩

就发生了:

1.1.2.超时处理

解决雪崩问题的常见方式有四种:

•超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待

1.1.3.仓壁模式

方案2:仓壁模式

仓壁模式来源于船舱的设计:

船舱都会被隔板分离为多个独立空间,当船体破损时,只会导致部分空间进入,将故障控制在一定

范围内,避免整个船体都被淹没。

于此类似,我们可以限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔

离。

 

1.1.4.断路器

断路器模式:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务

的一切请求。

断路器会统计访问某个服务的请求数量,异常比例:

当发现访问服务D的请求异常比例过高时,认为服务D有导致雪崩的风险,会拦截访问服务D的一

切请求,形成熔断:  

1.1.5.限流

流量控制:限制业务访问的QPS,避免服务因流量的突增而故障。

1.1.6.总结

什么是雪崩问题?

  • 微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。

可以认为:

限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。

超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种

补救措施。

1.2.服务保护技术对比

在SpringCloud当中支持多种服务保护技术:

  • Netfix Hystrix

  • Sentinel

  • Resilience4J

早期比较流行的是Hystrix框架,但目前国内实用最广泛的还是阿里巴巴的Sentinel框架,这里我们

做下对比:

SentinelHystrix
隔离策略信号量隔离线程池隔离/信号量隔离
熔断降级策略基于慢调用比例或异常比例基于失败比率
实时指标实现滑动窗口滑动窗口(基于 RxJava)
规则配置支持多种数据源支持多种数据源
扩展性多个扩展点插件的形式
基于注解的支持支持支持
限流基于 QPS,支持基于调用关系的限流有限的支持
流量整形支持慢启动、匀速排队模式不支持
系统自适应保护支持不支持
控制台开箱即用,可配置规则、查看秒级监控、机器发现等不完善
常见框架的适配Servlet、Spring Cloud、Dubbo、gRPC 等Servlet、Spring Cloud Netflix

1.3.Sentinel介绍和安装

1.3.1.初识Sentinel

Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:home | Sentinel

Sentinel 具有以下特征:

丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。

完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。

广泛的开源生态:Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入 Sentinel。

完善的 SPI 扩展点:Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。

1.3.2.安装Sentinel

1)下载

sentinel官方提供了UI控制台,方便我们对系统做限流设置。大家可以在GitHub下载。

课前资料也提供了下载好的jar包:

2)运行

将jar包放到任意非中文目录,执行命令:

java -jar sentinel-dashboard-1.8.1.jar

如果要修改Sentinel的默认端口、账户、密码,可以通过下列配置:

配置项默认值说明
server.port8080服务端口
sentinel.dashboard.auth.usernamesentinel默认用户名
sentinel.dashboard.auth.passwordsentinel默认密码

例如,修改端口:

java -Dserver.port=8090 -jar sentinel-dashboard-1.8.1.jar

3)访问

访问http://localhost:8080页面,就可以看到sentinel的控制台了:

需要输入账号和密码,默认都是:sentinel

登录后,发现一片空白,什么都没有:

这是因为我们还没有与微服务整合。  

1.4.微服务整合Sentinel

我们在order-service中整合sentinel,并连接sentinel的控制台,步骤如下:

1)引入sentinel依赖

<!--sentinel-->
<dependency><groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

2)配置控制台

修改application.yaml文件,添加下面内容:

server:port: 8088
spring:cloud: sentinel:transport:dashboard: localhost:8080

3)访问order-service的任意端点

打开浏览器,访问http://localhost:8088/order/101,这样才能触发sentinel的监控。

然后再访问sentinel的控制台,查看效果:

http://www.yayakq.cn/news/773896/

相关文章:

  • 做国外搞笑网站企业网站推广17
  • dede 网站打开慢唐山企业做网站
  • 网站开发yuanmus怎么给wordpress加背景图
  • 赤峰专业网站建设橙色网站设计
  • 网站建立有哪些功能温州做网站价格
  • 网站存在风险什么意思网站建设 该如何选好域名
  • 网站建立计划书江苏有哪些做网站建设的公司
  • 网站建设策划书附录erp软件培训
  • 网站开发怎么谈欧美做受网站视频播放
  • 公司注册网上核名入口如何做网站内部优化
  • 陕西网站制作公司厦门最快seo
  • 巫山网站开发数字域名有哪些网站
  • 网站上线要多久上海企业一窗通注册
  • h5网站欣赏宜兴建设局质监网站
  • 培训机构的网站建设做外贸登录国外网站
  • 站长素材音效网站建设投入产出分析
  • 做网站设计的公司叫什么甘肃省建设厅安全员官方网站
  • 网站推广的优化中铁三局招聘学历要求
  • 大屏网页设计网站网站建设 规范
  • 兴宁市住房和城乡规划建设局网站广东建设职业注册中心网站
  • 化工网站关键词优化高端网站建设百度
  • 哈尔滨企业建站系统好网站建设公司哪个好呀
  • 招标网站建设方案湖北百度关键词排名软件
  • html静态网站模板wordpress多格式视频播放插件
  • 购物网站服务器价格国内外网站开发技术有哪些
  • 涂料网站源码企业标准备案平台官网
  • 台江网站建设江苏建设主管部门网站
  • 中国网站建设市场排名广州企业网站建设多少钱
  • 营销网站建设工作东莞生活网
  • 如何做网站首页收录长春经济技术开发区人才网