Pinpoint 简单介绍 Pinpoint 是用 Java 编写的 APM(应用性能管理)工具,用于大规模分布式系统,以帮助分析系统的总体结构以及分布式应用程序的组件之间是如何进行数据互联的. 安装agent是无侵入式的 对性能的影响最较小 架构图: 最近遇到的问题 线上的服务一直运行正常,突然各种报警响起(邮件.短信.微信通知),赶紧登录kibana查看运行日志(日志有点延迟)搜不到???? 一面继续搜索kibana,一面跟运维沟通申请开通临时账户,提交oa经过一系列的审批,最后运维特别给力…
jedis参数不当引发dubbo服务线程池耗尽异常 现象:一个dubbo服务偶发性的出现个别机器甚至整个集群大量报线程池耗尽的问题.一开始对问题的处理比较粗暴,直接增加了10倍的线程数.但是问题依然偶尔出现,重启服务就可以暂时解决.后来,发现问题出现频率有点高,不得不花点时间认真分析了. 实际原因:jedis参数设置不当.实际仔细分析问题后发现每次出现异常最开始都是出现了大量的jedis连接池获取连接异常: redis.clients.jedis.exceptions.JedisConnecti…
前几天负责的理财产品线上出现问题:一客户赎回失败,查询交易记录时显示某条交易记录为其他人的卡号. 交易的链路如下: 出现该问题后,我们对日志进行了分析,发现主站收到的两笔流水号完全相同,然而主站却没有做重复校验,将两笔订单(A和B)都发往基金系统,基金系统做了重复校验,收到A之后开始处理,收到B之后直接报错返回,A处理完后又正常返回.但是主站根据流水号更新数据库状态,却将两笔订单更新错了,导致客户的交易记录出错. 该问题虽然不会造成用户的资金损失或记账出错,但是交易记录出错会带来极差的用户体验,…
日常运维中的坑真是防不胜防,不一小心就遇到别人给你挖的坑.最近又遇到经验不足的DBA不知道从哪拷贝的配置文件(据说是当时参加某培训机构视频培训是资料里的模板,真的是误人子弟呀),其中把max_binlog_cache_size设置的只有2G,而MySQL早已将此参数的默认值调整的很大了(18446744073709547520),实在没想通为何有人会如此修改. 1. 故障描述 收到告警,从库SQL线程停止,查看日志,其中的错误内容如下: failed executing ; Could ; ha…
感谢某电商平台安全工程师feiyu跟我一起讨论这个漏洞的修复.以往在安全测试的过程中后台经常存在验证码不失效果造成的撞库问题,甚至在一些银行或者电商的登录与查存页面同样存在这个问题,一旦造成撞库无论对用户账号的安全性还是网站的负载都是巨大的挑战.其实造成问题的原因并不复杂,主要是研发在开发过程中缺少对安全的认知,造成的疏忽. 今天心血来潮自己写了个验证码来模拟下出现的问题,首先我们从前端页面开始分析: <!DOCTYPE html> <html> <head> <…
今天来说一下Proguard中关于optimize的问题.先上一张异常图片 最近项目重构,重新调整了各个组件之间的依赖关系.过程中,在项目Proguard这块卡住了,最开始还好,Proguard只是提示警告,项目构建失败.于是我根据提示的警告信息,把先关的一些依赖所了混淆的一些配置处理.重新触发构建,日志不再有警告,但此时却出现了一个error! 如上图所示,这是我项目中完整的错误日志.下面是我proguard-project.txt文档中所配置的optimize相关内容. # 指定混淆时采用的…
排查一个死机问题,搞了好几天时间,最终确定原因:最终确定问题原因,在此分享一下: 第一步:常规根据core文件查看栈信息,gdb –c core xxxx 如下rip不正确,指令地址错乱,栈信息已破坏:在此基础上准确定位非常困难,但是仍可发现一些线索: 根据当前栈信息,大概寻找到怀疑的函数 查看整个栈上下信息,看有无怀疑的函数: 所以很有可能就是fetchNSAddrEv函数导致,需要重点关注: 更深入的细节,限于汇编不深入,比较难分析,不过可以有另外途径: 第二步:因为core是能复现出来,所…
NSTimer可以用来执行一些定时任务,比较常用的方法就是: + (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; 可是,仔细看官方文档中对于参数target的说明,可以看到这样一段: target The object to which to send the mes…
1. /var/log/messages 频繁报错: Jul :: localhost suhosin[]: ALERT - script tried to increase memory_limit to bytes which is above the allow ed value (attacker ) 查看/home/www/bbsphp/index.php,发现有以下语句: ini_set("memory_limit","500M"); 查看php.ini…
背景 系统: SpringBoot开发的Web应用: ORM: JPA(Hibernate) 接口功能简述: 根据实体类ID到数据库中查询实体信息,然后使用RestTemplate调用外部系统接口获取数据. 问题现象 浏览器页面有时报504 GateWay Timeout错误,刷新多次后,则总是timeout 数据库连接池报连接耗尽异常 调用外部系统时有时报502 Bad GateWay错误 分析过程 为便于描述将本系统称为A,外部系统称为B. 这三个问题环环相扣,导火索是第3个问题,然后导致第…
最近在网上冲浪,读到一则新闻,摘抄下这则新闻: ======================= 以下文字摘抄自互联网==================== 1990年1月15日,AT&T电话网络位于纽约的一台交换机当机并且重启,引起它邻近交换机瘫痪,由此及彼,一个连着一个,很快,114台交换机每六秒当机重启一次,六万人九小时内不能打长途电话.当时的解决方式:工程师重装了以前的软件版本.事后的事故调查发现,这是break关键字误用造成的. ======================= 以上文字…
一.问题描述 在一个fixed-data-table(一个React组件)制作的表格中,需要给表头的字段一个提示的特效,所以做了一个提示层 这个提示层被固定(拖动表格的水平滚动条时固定)的表格列遮住 无论设置该提示层的z-index为多大,都不能让其在固定表格列列之上 效果如下: 二.问题分析 通过对页面的DOM层级进行分析,把有可能影响层级的部分抽出来: 主要有以下几个部分会影响到元素的层级(关于设置了哪些属性会影响层级请看后面的附),下面逐一分析: A元素和B元素都有一个样式是positio…
这是悟空的第 170 篇原创文章 官网:http://www.passjava.cn 你好,我是悟空. 本文主要内容如下: 一.前言 最近项目的生产环境遇到一个奇怪的问题: 现象:每天早上客服人员在后台创建客服事件时,都会创建失败.当我们重启这个微服务后,后台就可以正常创建了客服事件了.到第二天早上又会创建失败,又得重启这个微服务才行. 初步排查:创建一个客服事件时,会用到 Redis 的递增操作来生成一个唯一的分布式 ID 作为事件 id.代码如下所示: return redisTemplat…
生活中有这么一种现象:如果你关注某些东西,它就会经常出现在你眼前,例如一个不出名的歌手的名字,一种动物的卡通形象,某个非常专业的术语,等等等等.这种现象也叫做“孕妇效应”.还有类似的一种效应叫做“视网膜效应”,它讲的是:你有什么东西或者特质你就特别容易在别处发现你有的这类东西和特质.干了多年测试的我就会经常发现日常使用的系统中有很多的bug,而我老婆就发现不了.今天要说的事儿是“重现难以重现的bug”,这件事儿在本周共遇见了4次:第一次是微博上有一篇<程序员,你调试过的最难的 Bug 是?>(…
20145206 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 8.1 语法与继承架构 package CH5; /** * Created by Administrator on 2016/3/29. */ import java.util.Scanner; public class Average { public static void main(String[] args) { Scanner console = new Scanner(System.in); doub…
20145317彭垚 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 8.1 语法与继承架构 package CH5; /** * Created by Administrator on 2016/3/29. */ import java.util.Scanner; public class Average { public static void main(String[] args) { Scanner console = new Scanner(System.in); do…
摘要:众所周知,Nginx是目前最流行的Web Server之一,也广泛应用于负载均衡.反向代理等服务,但使用过程中可能因为对Nginx工作原理.变量含义理解错误,或是参数配置不当导致Nginx工作异常.本文介绍的就是福建开机广告Nginx的参数location处理静态文件配置不当引发的nginx日志骤增到14G的问题排期过程. 一.问题现象及系统介绍 现象:12月15日 21:02分,正在外面吃宵夜,手机收到监控平台的一条"服务器磁盘空间<20%"报警短信. 系统介绍:为了看此…
sql注入l MySqlMySQL False注入及技巧总结MySQL 注入攻击与防御sql注入学习总结SQL注入防御与绕过的几种姿势MySQL偏门技巧mysql注入可报错时爆表名.字段名.库名高级SQL注入:混淆和绕过 MSSQLMSSQL DBA权限获取WEBSHELL的过程MSSQL 注入攻击与防御CLR在SQL Server中的利用技术分析 PostgreSQLpostgresql数据库利用方式PostgreSQL渗透测试指南 MongoDBMongoDB安全 – PHP注入检测 技巧我…
ref:https://chybeta.github.io/2017/08/19/Web-Security-Learning/ ref:https://github.com/CHYbeta/Web-Security-Learning Web-Security-Learning 学习资料01月29日更新: 新收录文章 mysql SSRF To RCE in MySQL MSSQL MSSQL不使用xp_cmdshell执行命令并获取回显的两种方法 postgresql 渗透中利用postgres…
20155336 2016-2017-2<JAVA程序设计>第五周学习总结 教材学习内容总结 第八章 语法与继承构架 使用try.catch 特点: 使用try.catch语法,JVM会尝试执行try区块中的程序代码.如果有错误发生,会跳离错误发生点,执行catch区块中的代码. 执行完catch区块后,没有其他程序代码,程序就会结束. 注意: - 在java中,所有的错误都会被打包成为对象.而try.catch是在发生了InputMismatchException的错误.(实际上并不鼓励,在…
20145326 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 一.语法与继承结构 1.使用try .catch 我们编写程序时总有些由意想不到的状况而引发的错误,java中的错误以对象方式呈现为java.lang.Throwable的各种子类实例.只要能捕捉包装错误的对象,就可以针对该错误做一些处理.java中所有错误都会被打包为对象,如果愿意,可以尝试(try)捕捉(catch)代表错误的对象后做一些处理.以书上228页的代码为例,这里使用了try,catch语法,JVM会…
对第一章和第二章的学习 通过了前两章的学习,我了解到了java的由来以及JVM/JRE/JDK三大平台 JDK JDK 是 Java 语言的软件开发工具包. JDK是整个JAVA的核心,包括了Java运行环境,一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API ). JRE JRE为Java Runtime Environment的简称,Java Runtime Environment(包括Java Plug-in)是Sun的产品,包括两部分:Java R…
20155337 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章 •语法与继承架构 •使用try.catch •特点: 使用try.catch语法,JVM会尝试执行try区块中的程序代码.如果有错误发生,会跳离错误发生点,执行catch区块中的代码. 执行完catch区块后,没有其他程序代码,程序就会结束. •注意: 在java中,所有的错误都会被打包成为对象.而try.catch是在发生了InputMismatchException的错误.(实际上并不鼓…
20145335郝昊<Java程序设计>第5周学习总结 教材学习内容总结 第八章 语法与继承架构 使用try.catch 特点: - 使用try.catch语法,JVM会尝试执行try区块中的程序代码.如果有错误发生,会跳离错误发生点,执行catch区块中的代码. - 执行完catch区块后,没有其他程序代码,程序就会结束. 注意: - 在java中,所有的错误都会被打包成为对象.而try.catch是在发生了InputMismatchException的错误.(实际上并不鼓励,在异常继承架构…
MSS与MTU的关系 TU:maximum transmission unit,最大传输单元,由硬件规定,如以太网的MTU为1500字节. MSS:maximum segment size,最大分节大小,为TCP数据包每次传输的最大数据分段大小,一般由发送端向对端TCP通知对端在每个分节中能发送的最大TCP数据.MSS值为MTU值减去IPv4 Header(20 Byte)和TCP header(20 Byte)得到. 分片:若一IP数据报大小超过相应链路的MTU的时候,IPV4和IPV6都执行…
前言 权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题.目前在公司负责权限这块,所以对权限这块的设计比较熟悉,公司采用微服务架构,权限系统自然就独立出来了,其他业务系统包括商品中心,订单中心,用户中心,仓库系统,小程序,多个APP等十几个系统和终端 1.权限模型 迄今为止最为普及的权限设计模型是RBAC模型,基于角色的访问控制(Role-Based Access Contro…
Web Security sql注入 MySql MySQL False 注入及技巧总结 MySQL 注入攻击与防御 sql注入学习总结 SQL注入防御与绕过的几种姿势 MySQL偏门技巧 mysql注入可报错时爆表名.字段名.库名 高级SQL注入:混淆和绕过 Mysql约束攻击 Mysql数据库渗透及漏洞利用总结 MySQL绕过WAF实战技巧 NetSPI SQL Injection Wiki SQL注入的“冷门姿势” 时间延迟盲注的三种加速注入方式mysql 基于时间的高效的SQL盲注-使用…
[源码解析] 当 Java Stream 遇见 Flink 目录 [源码解析] 当 Java Stream 遇见 Flink 0x00 摘要 0x01 领域 1.1 Flink 1.2 Java Stream 1.3 探寻角度 0x02 数据流模型 2.1 Java Stream 2.2 Flink 2.3 分析 0x03 流水线 3.1 总体对比 3.2 示例代码 3.3 Stream操作分类 3.4 Stage 3.4.1 分类 3.4.2 AbstractPipeline 3.5 流水线构…
前言 根据红日安全写的文章,学习PHP代码审计的第三节内容,题目均来自PHP SECURITY CALENDAR 2017,讲完相关知识点,会用一道CTF题目来加深巩固.之前分别学习讲解了in_array函数缺陷和filter_var函数缺陷,有兴趣的可以去看看: PHP代码审计01之in_array()函数缺陷 PHP代码审计02之filter_var()函数缺陷 漏洞分析 下面我们看第一题,代码如下: <?php function __autoload($className) { inclu…
性能测试中,CPU和内存是关注最多的两个性能指标.以我行应用最多的系统架构(WAS+Oracle)来说,CPU使用率高的问题多发生于数据库,比如索引不当引发的表扫描.绑定变量使用不当引发的硬解析.连接池使用不当引发的频繁建立断开连接,这些都会导致数据库服务器CPU使用率高. 内存问题则多发生于应用服务器.部署在WAS平台的Java应用,经常发生的问题是JVM堆内存溢出.产生该问题的原因有很多: ·由环境引发的,虚拟机物理内存不足: ·由参数配置引发的,JVM堆内存设置过小: ·由应用程序引发的,…