失败的sentinel整合springcloud

编程

项目想上一个sentinel,整合到springcloud中,整个项目使用的是springcloud全家桶,不是阿里的那一个。

因为项目是放在docker中部署使用,所以第一步是整合到docker中,主要是解决sentinel的默认账号密码的问题。

新建 dockerfile文件。填写如下。

#指定使用的基础镜像

FROM java:8

#镜像的作者、作者邮箱

MAINTAINER longX@yunji.com

#添加文件到容器中,注意,在打包的时候,这个文件需要放在同一级

ADD sentinel-dashboard-1.7.2.jar /sentinel-dashboard-1.7.2.jar

#声明端口,需要开放多个端口则多一条expose

EXPOSE 8081

#添加脚本

ADD start.sh /root

#执行命令,相当于开机执行命令

ENTRYPOINT ["java", "-Dcsp.sentinel.api.port=8081", "-Dproject.name=sentinel-dashboard", "-Dsentinel.dashboard.auth.username=root", "-Dsentinel.dashboard.auth.password=root", "-jar","/sentinel-dashboard-1.7.2.jar"]

#参数说明:

#-Dserver.port 项目的地址,类似指定springboot项目地址,默认8080

#Dproject.name 项目的名字,注册到控制端的名字

#Dsentinel.dashboard.auth.username 登录账号密码

#csp.sentinel.dashboard.server 控制台的地址,指定控制台后客户端会自动向该地址发送心跳包

#csp.sentinel.api.port 本地启动 HTTP API Server 的端口号,默认 8719, 非必要,若端口冲突会自动向下探测可用的端口

#csp.sentinel.heartbeat.client.ip 指定心跳包中本机的 IP,若不指定则通过 HostNameUtil 解析;该配置项多用于多网卡环境,docker环境有问题

#csp.sentinel.api.port,默认8719,和客户端通信的端口号,这里docker启动

将这个文件和jar(自己去官网下载)传到服务器上,执行 `docker build -t sentinel-yunji-1.7 .`

就能生成镜像,执行

docker run -idt --name sentinel -p 8102:8080 -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro --privileged=true --restart=on-failure:5 sentinel-yunji-1.7

运行生成的镜像。

到此,这一步就基本完成了,访问。http://ip: 8102 / 就能看到页面,输入 root ,root 即可访问。

做以上的操作,就是为了改密码,自己设定你自己的密码,以及将其容器化,方便管理。

=================================================以下就开始有问题了。

spring.cloud.sentinel.transport.dashboard=http://192.168.1.33:8102

#本机的IP

spring.cloud.sentinel.transport.client-ip=192.168.1.163

spring.cloud.sentinel.transport.port=8102

#服务启动直接建立心跳连接

spring.cloud.sentinel.eager=true

以上的配置是项目中的配置,放到application.properties中,然后引入相关的maven即可。

总结:

按照相关的配置完成之后,发现基本可以实现配置监控请求的接口显示,但是实时页面一直没有数据,不知道为什么,中途忽然又出现过一段时间的数据,另外,其版本对项目也有影响,1.7.2和1.7.1的一些API与类也有不一样初步怀疑,sentinel 的整合是与 spring-cloud-alibaba 相关的,并没有完整的支持 原生的springcloud

以上是 失败的sentinel整合springcloud 的全部内容, 来源链接: utcz.com/z/518751.html

回到顶部