微服务保护—Sentinel快速入门+微服务整合 示例: 黑马商城

1.微服务保护

微服务保护是确保微服务架构可靠、稳定和安全的策略与技术。

在可靠性上,限流是控制进入微服务的请求数量,防止流量过大导致服务崩溃。比如电商促销时对商品详情服务进行流量限制。熔断是当被调用的微服务故障过多或响应过慢时,暂停对它的调用,避免资源浪费和故障蔓延。

在稳定性方面,有负载均衡来分配请求,让各个微服务实例合理承担任务。

从安全角度看,通过认证和授权来控制对微服务的访问,只有合法用户和经过许可的操作才能访问微服务。

微服务保护的技术有很多,但目前国内比较常用的的是Sentinel


2.Sentinel介绍

Sentinel是阿里巴巴开源的一款服务保护框架,目前已经加入SpringCloudAlibaba中。

官方网站: home | Sentinel

Sentinel 的使用可以分为两个部分:

  • 核心库(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。

  • 控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。


3.搭建Sentinel控制台步骤

3.1. 下载jar包

下载地址:https://github.com/alibaba/Sentinel/releases

这里直接使用黑马商城资料中已提供好版本:


3.2. 运行

 将jar包放在任意非中文、不包含特殊字符的文件夹目录下,重命名为sentinel-dashboard.jar

并且在该文件夹下创建一个text文本文档,然后把运行命令放入该文本中,最后将该文本的后缀名改为bat,这样一来就不用每次都在cmd中运行命令,只需要双击该文本文档运行即可

3.2.1 Sentinel运行命令
java -Dserver.port=8090 -Dcsp.sentinel.dashboard.server=localhost:8090 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

点击文本文档运行


3.3  访问

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

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

登录后,即可看到控制台,默认会监控sentinel-dashboard服务本身


 4. 微服务整合

cart-service模块中整合Sentinel,连接到sentinel-dashboard控制台,步骤如下:

4.1 导入依赖

代码如下:

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

 4.2  配置控制台

修改application.yaml文件,包括打开Sentinel的请求方式前缀,内容如下:

代码如下:

spring:
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8090   # sentinel控制台地址
      http-method-specify: true   # 开启http方法级别限流

4.3 访问cart-service端点

重启服务,然后访问查询购物车接口,sentinel的客户端就会将服务访问的信息提交到sentinel-dashboar控制台

然后就可以看到并展示出统计信息:

簇点链路,就是单机调用链路,是一次请求进入服务后经过的每一个被Sentinel监控的资源。

 点击簇点链路菜单,就可以看到下面的页面:

说明我们将黑马商城中对应的操作请求方式都拿到了,这样也便于我们进行观察与测试

到这里,我们整个Sentinel就搭建完成了,并且同过微服务进行了一个整合,很好的用到了我们的项目中去!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值