AlibabaCloud微服务:Linux 部署 Sentinel 流量控制

news2024/11/26 20:44:29

目录

 一、实验

1.环境

 2.Linux 部署 Sentinel 

3. 微服务接入Sentinel配置

二、 问题

1.Linux本地启动Sentinel控制台

2.JDBC连接失败


 一、实验

1.环境

(1)主机

表1  主机

系统软件版本IP备注
Linuxopenjdk 1.8.0192.168.204.200

maven3.5.0
nacos1.3.2

依赖jdk

      与maven

sentinel-dashboard1.8.0                  依赖jdk
WindowsMySQL8.0.36localhostNavicat 连接

(2) 查看java版本

[root@localhost ~]# java -version

(3)查看数据库状态

(4)微服务引入Sentinel依赖

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

 2.Linux 部署 Sentinel 

(1)官网

home | Sentinel

(2)Github

查看版本

https://github.com/alibaba/Sentinel

控制台

https://github.com/alibaba/Sentinel/wiki/控制台

(3)下载

wget https://github.com/alibaba/Sentinel/releases/download/v1.8.0/sentinel-dashboard-1.8.0.jar

(4) 启动Sentinel控制台

 Sentinel 控制台目前仅支持单机部署,需要 JDK 版本为 1.8 及以上版本

//-Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080 

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=192.168.204.200:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar

 (5) 查看进程

[root@localhost sysconfig]#  ps -ef | grep 8080
root      71819  69264  9 13:33 pts/2    00:00:46 java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=192.168.204.200:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar
root      72160  71458  0 13:41 pts/3    00:00:00 grep --color=auto 8080

 (6)查看开放的端口

8080端口未开放

[root@localhost ~]# iptables -L -n

(7)开放Linux本地的8080端口

[root@localhost ~]# cd /etc/sysconfig

[root@localhost sysconfig]# vim iptables
……
 -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
……

(8)重启服务

[root@localhost sysconfig]# service iptables restart

(9)再次查看开放的端口

8080端口已开放

[root@localhost sysconfig]# iptables -L -n

 (10)访问

http://192.168.204.200:8080

输入账户密码

默认账号密码 sentinel/sentinel

进入系统

3. 微服务接入Sentinel配置

(1)模块一修改配置文件

application.yml

#dashboard: 8080 控制台端口
#port: 9999 本地启的端口,随机选个不能被占用的,与dashboard进行数据交互,会在应用对应的机器上启动一个 Http Server,该 Server 会与 Sentinel 控制台做交互, 若被占用,则开始+1一次扫描

spring:
……
  cloud:
    sentinel:
      transport:
        dashboard: 192.168.204.200:8080 
        port: 9999 
​……

(2)  模块二修改配置文件

application.yml

配置文件与模块一基本相同,端口修改为9998

#dashboard: 8080 控制台端口
#port: 9999 本地启的端口,随机选个不能被占用的,与dashboard进行数据交互,会在应用对应的机器上启动一个 Http Server,该 Server 会与 Sentinel 控制台做交互, 若被占用,则开始+1一次扫描

spring:
……
  cloud:
    sentinel:
      transport:
        dashboard: 192.168.204.200:8080 
        port: 9998 
​……

(3)微服务进行Debug

运行

查看

(4)Nacos查看服务列表

(5)Sentinel查看

此时没有新增微服务,依然为本机的监控

(6)Postman发送测试

(7)查看微服务模块一的簇点链路

(8)查看微服务模块二的簇点链路

(9)微服务模块二进行流控

点击流控

修改前:

修改后:阈值修改为2

(10)查看流控规则

(11)浏览器快速访问

localhost:9000/api/v1/video/find_by_id?videoId=40

出现流量控制

二、 问题

1.Linux本地启动Sentinel控制台

(1)启动

Sentinel 控制台目前仅支持单机部署,需要 JDK 版本为 1.8 及以上版本

//-Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080 

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar

(5) 查看进程

[root@localhost ~]# ps -ef | grep 8080
root      69621  69264 10 13:05 pts/2    00:01:32 java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.0.jar
root      71499  71458  0 13:20 pts/3    00:00:00 grep --color=auto 8080

(6)访问

http://localhost:8080

输入账户密码

默认账号密码 sentinel/sentinel

进入系统

2.JDBC连接失败

(1)报错

The server time zone value '?й???????' is unrecognized or represents more than one time zone

(2)原因分析

因为使用mysql的jdbc驱动最新版(6.0+)时,会因为数据库和系统时区差异引起的无法连接问题。

(3)解决方法

在jdbc的url中加入时区serverTimezone

//CST代表的是中国上海时间(与北京时间,东八区相同)

url: jdbc:mysql://127.0.0.1:3306/cloud_order?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=CST

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1492890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【QT】QDialog/ QMessageBox/提示对话框/颜色(文字)------对话框

QDialog—对话框 什么是对话框&#xff0c;如下样式 非模态对话框&#xff0c;即打开以后&#xff0c;我还可以对其他框进行操作。 模态对话框&#xff0c;打开以后&#xff0c;其他框都不能再操作了 模态对话框是阻塞对话框 QDialog dig(this);//显示模态对话框dig.exec();…

数据库-Mysql-读写分离(Atalas,Mysql-Router,Mysql-Proxy)

Atalas 这个是很老的了&#xff0c;了解即可。 wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm rpm -ivh Atlas-2.2.1.el6.x86_64.rpm #安装后的目录 cd /usr/local/mysql-proxy配置 /usr/local/mysql-proxy/bin/encrypt roo…

【Bugs】java: 错误: 不支持发行版本 xx

文章目录 报错场景&#xff1a;报错原因&#xff1a;解决方法&#xff1a; 报错场景&#xff1a; IDEA运行Java项目报错&#xff0c;点击运行之后&#xff0c;IDEA在编译代码的时候就出现报错&#xff1a; 报错类型一&#xff1a;java: 错误: 不支持发行版本 21报错类型二&am…

H12-821_131

131.如图所示&#xff0c;R1、R2、R3和R4运行OSPF&#xff0c;缺省情况下该网络中选举________个DR。&#xff08;请填写阿拉伯数字&#xff09; 答案&#xff1a;3 注释&#xff1a; DR是链路上的概念&#xff0c;使用路由器接口的IP地址表示。链路的网络类型是广播网络类型或…

钉钉h5应用 globalthis is not defined vite client

钉钉h5应用 globalthis is not defined vite client problem 背景 钉钉h5应用使用 vue3 vite 构建的前端工程 问题 h5页面在pc端浏览器和pc端钉钉打开正常h5页面在移动端钉钉打开异常 页面空白 通过调试工具找到报错信息 globalthis is not defined vite client reason …

flutter插件市场,字节大牛耗时八个月又一力作

目录 触摸事件分发机制view渲染机制常用view布局ViewGroup自定义View实战 高级UI晋升 1.android的事件分发机制 2.Android面试题——View篇 3.自定义View面试题&#xff01; 4.布局ViewGroup 5.Android自定义View实战 最后 其实Android开发的知识点就那么多&#xff0c;面试…

低代码:数智化助力新农业发展

随着科技的飞速发展和数字化转型的深入推进&#xff0c;低代码开发平台正逐渐成为软件开发的热门话题。尤其在农业领域&#xff0c;低代码技术为传统农业注入了新的活力&#xff0c;助力新农业实现高效、智能的发展。 低代码开发平台的概念与特点 随着科技的飞速发展&#xff0…

Sublime Text 格式化Json文件 之 Pretty Json

需要使用到 Pretty Json插件。 一、安装方法 sublime 下&#xff0c;按快捷键 Comand control p&#xff0c; 输入install Package,然后回车 等几秒钟&#xff0c;加载启动进程完毕后弹出的页面中输入pretty json, 然后回车 等待几秒钟&#xff0c;可以查看Sublime 最下面的…

《UE5_C++多人TPS完整教程》学习笔记27 ——《P28 项目资产(Assets for The Project)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P28 项目资产&#xff08;Assets for The Project&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是译…

如何查询docker镜像的最新版本

查询Docker镜像的最新版本通常有两种方式&#xff1a; 通过Docker CLI在本地查询&#xff1a; 如果你已经拉取过某个镜像并且想要查看本地是否已经有该镜像的最新版本&#xff0c;可以使用docker images命令列出所有本地镜像及其标签&#xff08;即版本&#xff09;。但请注意&…

各中间件性能、优缺点对比

参考资料&#xff1a; Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点&#xff1f;

十三、类的继承、访问级别

类的继承与访问控制 类的继承 使用sealed修饰的类&#xff0c;是私有类&#xff0c;不能作为基类使用C#中一个类&#xff0c;只能有一个父类&#xff0c;但是可以实现多个接口子类的访问级别不能超过父类的访问级别 using System; using System.Collections.Generic; using S…

Mysql实战(1)之环境安装

1&#xff0c;进入&#xff1a;MySQL :: MySQL Downloads 2&#xff0c; 3&#xff0c; 4&#xff0c;

【Linux】磁盘情况、挂载,df -h无法看到的卷

文章目录 解决挂载、解决挂载完重启就消失1、查看linux下的硬盘挂载的空间、使用空间2、查看没有挂载的硬盘是否检测在系统中3、挂载 &#xff08;挂载完&#xff0c;要在/etc/fstab 下面配置挂载信息 要不然重启挂载就消失了&#xff09; 解决挂载、解决挂载完重启就消失 linu…

全局渐变滚动条样式

效果如下&#xff1a; APP.vue<style> /* 整个滚动条 */ ::-webkit-scrollbar {width: 5px;height: 10px; } /* 滚动条上的滚动滑块 */ ::-webkit-scrollbar-thumb {background-color: #49b1f5;/* 关键代码 */background-image: -webkit-linear-gradient(45deg,rgba(255,…

鸿蒙4.0-DevEco Studio界面工程

DevEco Studio界面工程 DevEco Studio 下载与第一个工程新建的第一个工程界面回到Project工程结构来看 DevEco Studio 下载与第一个工程 DevEco Studio 下载地址&#xff1a; https://developer.harmonyos.com/cn/develop/deveco-studio#download 学习课堂以及文档地址&#x…

1.1 深度学习和神经网络

首先要说的是&#xff1a;深度学习的内容&#xff0c;真的不难。你要坚持下去。 神经网络 这就是一个神经网络。里面的白色圆圈就是神经元。神经元是其中最小的单位。 神经网络 单层神经网络&#xff1a; 感知机 &#xff08;双层神经网络&#xff09; 全连接层&#xff1a; …

三色标记过程

可达性分析 GC过程中需要对对象图遍历做可达性分析。使用了三色标记法进行分析。 什么三色&#xff1f; 白色&#xff1a;尚未访问过。 黑色&#xff1a;本对象已访问过&#xff0c;而且本对象 引用到 的其他对象 也全部访问过了。 灰色&#xff1a;本对象已访问过&#xff0…

简单的排序算法

目录 1.直接插入排序 2.希尔排序 3.选择排序 4.冒泡排序 5.计数排序 6.排序总结 1.直接插入排序 &#xff08;1&#xff09;思想 所谓插入排序&#xff0c;就是将待排序数据插入到已经有序的数据中&#xff0c;为了使插入后数据依然有序&#xff0c;就要选中一个合理的…

易腐产品的多车厢电动车路径问题(2023)

Multi-Compartment Electric Vehicle Routing Problem for Perishable Products ABSTRACT 该研究首先提出了一个异质车队、多车室的易腐产品电动汽车路由问题&#xff08;MCEVRP-PP&#xff09;。我们捕捉到MCEVRP-PP的许多实际需求和限制&#xff0c;如多个温度区、硬时间窗…