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

sentinel环境搭建以及微服务接入

• sentinel部署
• sentinel-镜像制造
• sentinel-镜像推送
• sentinel-部署配置文件
• 访问控制台
• 外网访问控制台
• 集群内访问
• 配置规则
• 限流效果
• 微服务接入
• pom文件引入依赖
• pod部署文件添加配置

Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上,我们可以配置规则并实时查看流量控制效果。
Sentinel 会在客户端首次调用的时候进行初始化,开始向控制台发送心跳包 ,将客户端纳入到控制台的管辖之下。 客户端正确配置并启动后,会 在初次调用后 主动向控制台发送心跳包,汇报自己的存在;
控制台收到客户端心跳包之后,会在左侧导航栏中显示该客户端信息。如果控制台能够看到客户端的机器信息,则表明客户端接入成功了
端口默认8719,假如被占用了会自动从8719开始依次+1扫描。直至找到未被占用的端口,可以通过参数指定

-Dcsp.sentinel.api.port=8719
-Dsentinel.dashboard.auth.username=sentinel
-Dsentinel.dashboard.auth.password=123456

sentinel-镜像制造

1、需要把制作好的镜像推送远程ecr,Dockerfile文件如下:

#添加jdk镜像
FROM openjdk:8-jdk-alpine
#工作环境变量配置
ENV SENTINEL_HOME=/home/
#版本环境变量配置
ENV SENTINEL_DASHBOARD_VERSION=1.8.6
ENV SENTINEL_TOOL_OPTIONS=-Dserver.port=8088 
-Dsentinel.dashboard.auth.password=123456
#创建目录
RUN mkdir ${SENTINEL_HOME} && cd ${SENTINEL_HOME}
#工作目录
WORKDIR ${SENTINEL_HOME}
#添加sentinel dashboard镜像源
ADD sentinel-dashboard-${SENTINEL_DASHBOARD_VERSION}.jar ${SENTINEL_HOME}/sentinel-dashboard-${SENTINEL_DASHBOARD_VERSION}.jar
#启动命令
ENTRYPOINT java ${SENTINEL_TOOL_OPTIONS} -jar sentinel-dashboard-${SENTINEL_DASHBOARD_VERSION}.jar

2、并上传sentinel-dashboard-1.8.6.jar到同一目录

3、构建镜像,注意后面的.:

docker build -f Dockerfile -t sentinel-dashboard:1.8.6 .

sentinel-镜像推送

推送至远程ecr中

sentinel-部署配置文件

application配置文件sentinel-application.yaml(暂时没有配置项,可以不需要此项,后面的pod配置文件没有用到此项)
apiVersion: v1
data:application.properties: |-
kind: ConfigMap
metadata:name: sentinel-applicationnamespace: vsim-core

pod配置文件

sentinel-provider.yaml
一些启动参数可以在这里配置:

- env:- name: SENTINEL_TOOL_OPTIONSvalue: '-Dserver.port=8088 -Dsentinel.dashboard.auth.password=123456'

service文件:sentinel-svc.yml

启动日志:

访问控制台

ip访问:http://172.25.6.8:8088/ 账号:sentinel 密码:123456

配置规则

配置的规则默认是没有持久化的,重启sentinel会把之前的规则都清掉,后面可以把配置持久化,支持不同的方式,如:nacos/redis/zeekeeper等
针对此接口配置qps限额3,超过则快速失败,限流规则支持各种多样,此处取一种规则,除了限流还支持熔断、热点、授权等等
在这里插入图片描述

限流效果

调用9次此接口查看效果
成功4次,失败5次,每秒最多3次成功

在这里插入图片描述

微服务接入

pom文件引入依赖

version在parenmt控制:现在使用的是1.8.6,最新的发布版本

<!-- Sentinel 核心库 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-core</artifactId>
</dependency>
<!-- Sentinel 接入控制台 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
</dependency>
<!-- Sentinel 对 Dubbo 的支持 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-apache-dubbo3-adapter</artifactId>
</dependency>

pod部署文件添加配置

需要引入限流的pod部署文件,如果之前引入的pom依赖则只需要引入sentinel即可控制每个dubbo限流、熔断等;
参数说明:
csp.sentinel.dashboard.server:sentinel的地址
project.name:当前项目的名称,会展示在sentinel的dashboard左侧
其它参数配置文档:http://sentinelguard.io/zh-cn/docs/general-configuration.html

  • name: JAVA_OPTS
    value: >-
    -Dcsp.sentinel.dashboard.server=172.25.6.8:8088
    -Dproject.name=data-service

启动后正常会打印下面日志:
在这里插入图片描述

查看sentinel的dashboard控制台页面:
在这里插入图片描述

至此sentinel就整合完毕。

http://www.lryc.cn/news/173100.html

相关文章:

  • Klotski: Efficient Obfuscated Execution against Controlled-Channel Attacks
  • 阿里云无影云电脑角色AliyunServiceRoleForGws什么意思?
  • 操作系统--------调度算法篇
  • 宝塔composer 安装laravel依赖出现的问题
  • OpenCV自学笔记二十四:支持向量机
  • 网络初识
  • 极坐标和直角坐标的雅克比矩阵推导
  • 经管博士科研基础【25】概率论中的相关基础概念
  • 计算机网络的相关知识点总结(一)
  • 下载github.com上的依赖资源
  • 编写 GPT 提示词的公式 + 资源分享
  • 用HTML、CSS和JavaScript制作的通用进制转换器
  • ArcGIS 10.3软件安装包下载及安装教程!
  • 【数据增强】
  • Ae 效果:CC Force Motion Blur
  • 2023华为杯研究生数学建模竞赛CDEF题思路+模型代码
  • FP独立站之黑科技:AB站收款、斗篷CLOAK
  • 【Linux网络编程】gdb调试技巧
  • ElementUI之登录与注册
  • 报错处理:Error: Redis server is running but Redis CLI cannot connect
  • RocketMQ 源码分析——Producer
  • ISTQB术语表
  • 小米笔试题——01背包问题变种
  • SkyWalking内置MQE语法
  • Springboot2 Pandas Pyecharts 量子科技专利课程设计大作业
  • RabbitMQ里的几个重要概念
  • 23. 图论 - 图的由来和构成
  • 拼多多API接口解析,实现根据ID取商品详情
  • 【JavaScript】解构
  • 现代卷积网络实战系列2:训练函数、PyTorch构建LeNet网络