Spring cloud微服务安全实战-7-11PinPoint+SpringBoot环境搭建
微服务的最后一个组件,
调用链监控,一个请求进来以后,经过N多个微服务,例如a调用了b。b又调用了c,那么在这个过程中看到,整个的调用的链路,然后每一段调用所耗费的时间,帮你去分析你的系统如果出现瓶颈以后,瓶颈到底在什么地方。

pinpoint


点击看一下在线的demo

提供的一些应用的列表

选择order。这张图就是order这个服务的调用图。



出去调用的一层,分别调用了product和payment还有mysql数据库

outbound选择两层的话 图就会刷新。每一个箭头上都有数字,数字就是调用的次数。

请求的分布,绿点是请求成功的

鼠标框选这些时间比较长的请求

跳转到页面,把你选择的请求列出来。

选中一条记录,下面就列出来,详细点的调用链。

当前这次请求,也就是选中的这条记录 的,调用情况

timeline每一步请求,所占用的时间

混合视图

所有看到的信息整合到一起。可以很清楚的借助这样一个工具来分析你的链路。

inspector

服务器内存的使用情况

整合pinpoint
找到官方提供的docker的环境

docker的compose配置文件。

把这个项目克隆到本地

克隆到本地 需要的所有组件都装好了

启动docker环境。
访问端口8079

接入应用
不需要写代码就可以接入pinpoint,其他的方案都需要代码侵入。


下载解压出来。有个pinpoint.config文件。

这个指的就是pinpoint服务器的ip,如果服务器在远端,就要写服务器的地址。
采样率,当你收到请求的时候,是不是把请求信息发给pinpoint。这里配置1表示100%,所有的请求都会发给pinpoint。这样数据量就会非常大。有些情况下,可能不需要所有的请求,都需要pinpoint。只需要知道服务大概的请款就可以了。

当前采样,应用的服务器的类型是什么

默认配置的是tomcat。这里改成Spring_Boot

一会要借入UserApi的类

找到下面Spring_Boot的关剪子,所以把用户服务的包名配置到这里。
UserAPI里面有main函数,你用main函数启动的时候,它就会拦截你启动的这个应用里面,收到的所有请求。

UserAPi的修改
告诉UserAPI启动的时候 要用代理来启动。

加上启动参数

网站上有写怎么配置启动


指定这个jar包

代理jar包的位置。

第二个参数和第三个参数。

配置好以后 就可以启动

访问请求。因为服务现在是通过pinpoint代理启动起来的。所有发往userapi的请求都会被拦截。

刷新。这里多了个应用SpringBoot类型的APi


实际上调用的获取用户详情的查询。每次调用都会查询数据库。

可以看到执行的SQL

以上就是pinPoint的基本使用。
结束
Spring cloud微服务安全实战-7-11PinPoint+SpringBoot环境搭建的更多相关文章
- Spring cloud微服务安全实战-7-4整合SpringBoot和Prometheus
		pom文件里面加两个依赖.让SpringBoot暴露出一些断点. 在actuator的机制上面加一些prometheus的端点,暴露出来给prometheus可以识别的数据, 配置文件配置. 要暴露的 ... 
- Spring cloud微服务安全实战_汇总
		Spring cloud微服务安全实战 https://coding.imooc.com/class/chapter/379.html#Anchor Spring Cloud微服务安全实战-1-1 课 ... 
- 《Spring Cloud微服务 入门 实战与进阶》
		很少在周末发文,还是由于昨晚刚收到实体书,还是耐不住性子马上发文了. 一年前,耗时半年多的时间,写出了我的第一本书<Spring Cloud微服务-全栈技术与案例解析>. 时至今日,一年的 ... 
- Spring Cloud微服务安全实战_00_前言
		一.前言: 一直以来对服务安全都很感兴趣,所以就学习.这是学习immoc的 jojo老师的 <Spring Cloud微服务安全实战课程>的笔记,讲的很好. 课程简介: 二.最终形成的架 ... 
- Spring Cloud微服务安全实战_4-5_搭建OAuth2资源服务器
		上一篇搭建了一个OAuth2认证服务器,可以生成token,这篇来改造下之前的订单微服务,使其能够认这个token令牌. 本篇针对订单服务要做三件事: 1,要让他知道自己是资源服务器,他知道这件事后, ... 
- Spring Cloud微服务安全实战_4-3_订单微服务&价格微服务
		实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xml ... 
- Spring cloud微服务安全实战 最新完整教程
		课程资料获取链接:点击这里 采用流行的微服务架构开发,应用程序访问安全将会面临更多更复杂的挑战,尤其是开发者最关心的三大问题:认证授权.可用性.可视化.本课程从简单的API安全入手,过渡到复杂的微服务 ... 
- Spring cloud微服务安全实战-6-8sentinel限流实战
		阿里2018年开源的. 简单来说就是干三件事,最终的结果就是保证你的服务可用,不会崩掉.保证服务高可用. 流控 先从最简单的场景来入手. 1.引用一个依赖, 2,声明一个资源. 3.声明一个规则 注意 ... 
- Spring cloud微服务安全实战-6-4权限控制改造
		授权,权限的控制 令牌里的scope包含fly就有权限访问.根据Oauth的scope来做权限控制, 要让@PreAuthorize生效,就要在启动类里面写一个注解. 里面有一个属性叫做,就是在方法的 ... 
- Spring cloud微服务安全实战-6-2JWT认证之认证服务改造
		首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递 ... 
随机推荐
- redis基本操作使用
			连接redis [root@master src]# redis-cli 127.0.0.1:6379> ping PONG 127.0.0.1:6379> set name root O ... 
- Windows解决端口被占用问题
			第一种解决方法,以8080端口为例 打开命令行输入 cmd ,输入netstat -ano 会显示所有已经在运行的端口情况.PID为进程id 输入你想要查的正在占用的端口号,netstat -ano ... 
- 将mysql从MyISAM更改为INNODB
			今天更新django中的表字段,由于mysql从5.1升级到5.7.以前的外键关联必须从MYISAM改新为INNODB才可以继续. 过程有点刺激,但还好,只要想清楚了过程,提前作好备份,就没啥大问题. ... 
- HBase数据结构
			1 RowKey 与nosql数据库们一样,RowKey是用来检索记录的主键.访问HBASE table中的行,只有三种方式: 1.通过单个RowKey访问 2.通过RowKey的range(正则) ... 
- 算法笔记求序列A每个元素左边比它小的数的个数(树状数组和离散化)
			#include <iostream> #include <algorithm> #include <cstring> using namespace std ; ... 
- ctx控制超时的使用
			cancel package main import ( "context" "fmt" "time" ) func gen(ctx con ... 
- 2019.12.06   java基础
			JRE:运行环境(包含JVM(Java Virtual Machine)- Java虚拟机和核心类库) JDK: JAVA语言的软件开发工具包(Java Development Kit) Dos命令行 ... 
- graphql-hooks hooks first 的graphql 客户端
			graphql-hooks 是一个hooks first 的graphql 客户端,支持一一些特性 首类hooks api 比较小(5.3Kb) gzip 1.8 kb 完整支持ssr (通过grap ... 
- Linux 系统管理——服务器RAID及配置实战
			RAID称为廉价磁盘冗余阵列.RAID的基本想法是把多个便宜的小磁盘组合在一起.成为一个磁盘组,使性能达到或超过一个容量巨大.价格昂贵的磁盘. 2.级别介绍 RAID 0连续以位或字节为单位分割数据, ... 
- [BZOJ1191]超级英雄Hero
			Description 现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的 多少获得不同数目的奖品或奖金.主持人问题准备了若干道题目,只有当选手正确 ... 
