- 博客(1011)
- 资源 (12)
- 收藏
- 关注
原创 测试域: 流量回放-工具篇jvm-sandbox,jvm-sandbox-repeater,gs-rest-service
jvm-sandbox-repeater是阿里在19年7月份的时候开源的流量录制回放工具,代码提供了录制回放的能力,以及一个简单的repeater-console的demo示例。github 地址:GitHub - alibaba/jvm-sandbox-repeater: A Java server-side recording and playback solution based on JVM-Sandbox。
2023-09-18 16:41:22
285
原创 测试域: 流量回放-介绍篇
对于流量回放,如果用户的期望是完全替代手工测试,我会给介绍我们能解决的场景问题和带来价值,如果用户觉得不改变他的期望,建议还是把这个用户作为长尾用户,换一个用户快速推广。只有产品的功能和用户的期望匹配,用户才觉得我们产品能带来价值,才能作为金种子用户帮助我们打磨产品,否则双方可能会基于场景不匹配有很多的沟通,平台方做了再多的努力,没有达到预期,业务方也会认为产品的成熟度不够,这样的用户推广成本较大,但是收益很低。在回放时,通过相同入参,比较线上环境和测试环境接口的出参,判断测试环境的接口代码逻辑是否异常。
2023-09-18 15:34:30
86
原创 vsftp3.0 匿名用户,本地用户,虚拟用户,主动模式以及被动模式,docker vsftpd,k8s vsftpd
解释:chroot_local_user=NO则所有用户不被限定在主目录内,chroot_list_enable=YES表示要启用chroot_list_file, 因为chroot_local_user=NO,即全体用户都“不被限定在主目录内”,所以总是作为“例外列表”的chroot_list_file这时列出的是那些“会被限制在主目录下”的用户。当chroot_list_enable=NO时,就不再启用chroot_list_file,此时就是单纯的把全部用户限定或不限定在主目录下了!
2023-09-15 17:34:03
187
原创 Rancher上的应用服务报错:413 Request Entity Too Large
UI->rancher的ingress->UI前端(在nginx里面)->zuul->server。配置注释:nginx.ingress.kubernetes.io/proxy-body-size。当出现Request Entity Too Large时,是由于传输流超过1M。也就是说没经过一次http servlet 都要设置一下大小。1、需要在rancher的ingress中设置参数解决。1.rancher的ingress。4.前端通过网关访问到真正的后端服务。2. 前端在nginx里面。
2023-08-28 13:22:31
434
原创 jasypt 加密和解密
Jasypt 简介Jasypt 是一个 Java 库,它允许开发人员以最小的努力为项目添加基本的加密功能,而无需深入了解密码学的工作原理。Jasypt 特征Jasypt 提供简单的单向(摘要)和双向加密技术。用于任何 JCE 提供程序的开放 API,而不仅仅是默认的 Java VM 提供程序。Jasypt 可以很容易地与 Bouncy Castle 等知名提供商一起使用。为您的用户密码提供更高的安全性。二进制加密支持。Jasypt 允许对二进制文件(字节数组)进行摘要和加密。
2023-08-04 14:06:24
177
原创 mvn build jar依赖和源码本身分开。减轻编译后的jar大小
【代码】mvn build jar依赖和源码本身分开。减轻编译后的jar大小。
2023-08-01 17:05:28
501
原创 nginx中deny和allow详解
allow和deny都可以在http,server,location,limit_except中使用。如果被deny则会返回“403 Forbidden”报错信息。以下几个场景能够说明清楚这2个命令的具体是怎么用的。deny和allow都是在access阶段。
2023-07-31 10:33:02
180
原创 Java中的io流
File文件类1.访问文件名相关的方法String getName():返回此File对象所表示的文件名或路径名(如果是路径,则返回最后一级子路径名)。String getPath():返回此File对象所对应的路径名。File getAbsoluteFile():返回此 File对象的绝对路径。String getAbsolutePath(:返回此File对象所对应的绝对路径名。String getParent():返回此File对象所对应目录(最后一级子目录)的父目录名。
2023-07-27 18:00:19
141
原创 Java IO,BIO、NIO、AIO
接着客户端和服务端就进行阻塞式的通信,客户端发送一个请求,服务端 Socket 进行处理后返回响应,在响应返回前,客户端那边就阻塞等待,什么事情也做不了。这种方式的缺点, 每次一个客户端接入,都需要在服务端创建一个线程来服务这个客户端,这样大量客户端来的时候,就会造成服务端的线程数量可能达到了几千甚至几万,这样就可能会造成服务端过载过高,最后崩溃死掉。阻塞: 阻塞就是发起一个请求,调用者一直等待请求结果返回,也就是当前线程会被挂起,无法从事其他任务,只有当条件就绪才能继续。1.单线程处理多个客户端。
2023-07-27 15:26:58
374
原创 java slf4j,Commons Logging与log4j,Logback,tinylog和异常配合使用
1、日志是什么?日志是每天记录我们程序情况的。日志管理的目的是为了记录日志。2、为什么会有日志?1、问题追溯,通过日志文件的记录可以使我们运维或者程序员快速查找问题根源。2、状态检测,检测我们系统状况,为项目出现的问题做好预警。3、安全审计3、日志级别划分日志级别一共分为五层:1、ERROR(错误) 2、WARNING(警告)3、INFO(常规状态)4、Debug(调试信息)5、Trace(调试,信息更详细)4、日志对性能的影响1、static对Logger实例化的影响。
2023-07-21 09:56:42
461
原创 Alibaba微服务分布式事务组件—Seata详解,seata 阿里分布式事务框架2、消息队列3、saga4、XA【AT、TCC、Saga、XA】
按照前面允许空回滚的逻辑,回滚会返回成功,事务管理器认为事务已回滚成功,则此时的 Try 接口不应该执行,否则会产生数据不一致,所以我们在 Cancel 空回滚返回成功之前先记录该条事务 xid 或业务主键,标识这条记录已经回滚过,Try 接口先检查这条事务xid或业务主键如果已经标记为回滚成功过,则不执行 Try 的业务操作。例如上面笔者提到的一个案例,某个应用同时操作了9个库,这样的应用业务逻辑必然非常复杂,对于开发人员是极大的挑战,应该拆分成不同的独立服务,以简化业务逻辑。
2023-07-20 17:18:26
231
原创 Java中Stream配合Lambda使用详解
一、概述Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的Lambda ,给我们操作集合(Collection)提供了极大的便利。Stream流是JDK8新增的成员,允许以声明性方式处理数据集合,可以把Stream流看作是遍历数据集合的一个高级迭代器。Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找/筛选/过滤、排序、聚合和映射数据等操作。
2023-07-20 15:24:35
67
原创 linux 排查java cpu过高问题,JPS、JMAP、JSTAT、JSTACK和JCMD
2.查看23657进程的线程有哪些且哪些占用高。3. 进程号:23657 转好为16进制。4. 查看代码哪里出现出问题 看前20行。1.查看cpu过高的进程。进程号:23657 为列子。
2023-07-20 09:39:43
99
原创 NGINX动态DNS解析原理及源码分析
NGINX在配置上游的服务器时,支持域名配置。根据不同的配置,NGINX提供了静态和动态解析两种方式。本文试图从代码层面分析动态dns解析是如何实现的。a. 静态解析http {server {listen 80;如上的配置,在NGINX启动运行时,会使用本机在/etc/hosts和/etc/resolve.conf中配置的主机和dns服务器对域名和进行解析。这个解析过程是通过lib C的函数getaddrinfo进行的同步操作。如果解析失败,NGINX就不能成功启动。
2023-07-14 10:26:10
577
原创 java多线程
进程就是正在运行中的程序(进程是驻留在内存中的)是系统执行资源分配和调度的独立单位每一进程都有属于自己的存储空间和系统资源注意:进程A和进程B的内存独立不共享。
2023-07-12 11:33:31
36
原创 Feign、Ribbon、Hystrix(铁三角)以及三者超时时间配置
在中很多功能都需要调用多个服务才能完成某一项功能,一个成熟的微服务集群,内部调用必然依赖一个好的 RPC 框架,比如:基于 Http 协议的Feign,基于私有 tcp 协议的Dubbo1. Feign 是什么Feign 是Spring Cloud Netflix组件中的轻量级Restful的 HTTP 服务客户端,实现了负载均衡和 Rest 调用的开源框架,封装了Ribbon和RestTemplate, 实现了WebService的面向接口编程,进一步降低了项目的耦合度。
2023-06-27 10:17:48
1461
1
原创 MySQL管理工具MySQL Utilities->mysqlfrm,frm和ibd恢复数据
可选的数据库名称也可以使用路径,如 /home/me/oltp:t1.frm,将使用oltp作为数据库名。如果不想最后的文件夹作为数据库名,只需指定冒号,如 /home/me/data1/:t1.frm,在这种情况下,CREATE语句将忽略数据库。需要指定.frm文件的路径,也可以指定一个目录,该目录下的所有.frm文件将被读取。数据库要求:innodb_file_per_table=1 共享表空间:数据库wubo,表t1,此时在磁盘wubo目录下有t1.frm表结构但是没有t1.ibd数据文件。
2023-06-25 09:30:22
645
原创 chartmuseum charts仓库
使用helm管理chart包,需要三个部门协作完成,都有哪三个部门呢?1)chartmuseum, 作为chart的存储仓库,一方面提供存储,一方面对外提供上传和下载, 其也包含两部分服务器: 真正提供服务的;客户端/命令行: 用来操作和设置服务器;2),专门用作上传chart包到仓库中3), 一方面可以访问仓库并从仓库中下载chart包,另一方面可以与自己的实际服务器tiller交互渲染chart包。
2023-06-08 17:44:35
818
原创 go 并发/并行/协程/sync锁读写锁
goroutine(协程也就是任务) 是一种非常轻量级的实现,可在单个进程里执行成千上万的并发任务,它是Go语言并发设计的核心。说到底 goroutine 其实就是线程,但是它比线程更小,十几个 goroutine 可能体现在底层就是五六个线程,而且Go语言内部也实现了 goroutine 之间的内存共享。
2023-06-05 16:27:12
735
5
原创 Go GPM 调度器介绍
Go GPM 调度器介绍1 简介 这几天在学习Go的GPM机制,于是就整理了一下收集的资料分享给大家,文章末尾有原文链接。主要介绍了Go在运行时调度器的基本实现逻辑和演变过程。2 什么是Go调度器 Go调度器很轻量也很简单,足以撑起goroutine的调度工作,并且让Go具有了原生(强大)并发的能力。Go调度本质是把大量的goroutine分配到少量线程上去执行,并利用多核并行,实现更强大的并发。2.1 单进程时代。
2023-05-30 16:07:08
899
原创 Linux系统设置swap大小,创建swap,top虚拟内存,VIRT RES SH
swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。最后,交换空间的页面在使用时会首先被交换到物理内存,如果此时没有足够的物理内存来容纳这些页面,它们又会被马上交换出去,如此一来,虚拟内存中可能没有足够的空间来存储这些交换页面,最终会导致 Linux 出现假死机、服务异常等问题。当然,频繁地读写硬盘,会显著降低操作系统的运行速率,这也是使用 swap 交换分区最大的限制。
2023-05-19 16:24:47
904
原创 sorna python3 调用,python 获取sonarqube数据
2.sonarqube社区版没有对c++类代码的分析,但是可以找到一个开源的包,安装即可,扫描的话可以使用cppcheck来进行扫描。1.sonarqube是一款代码分析的工具,通过soanrScanner扫描后的数据传递给sonarqube进行分析。
2023-05-12 10:45:45
614
原创 centos7 nbd 挂在qcow2或qcow,raw,虚机镜像,virsh,virt,使用qemu-nbd挂载qcow2镜像文件
https://blog.csdn.net/weixin_42097108/article/details/111414501 错误解决1、nbd 模块未安装登录后复制2、查看 linux 版本登录后复制CentOS Linux release 7.6.1810 (Core) #查看系统版本[root@localhost ~]# uname -r #查看linux的内核信息3、安装相关包4、下载内核包登录后复制#根据自己的系统版本去下载。
2023-04-27 16:53:32
1133
原创 centos 源码编译 srpm centos-git-common
Overview - centos-git-common - CentOS Git server
2023-04-27 16:03:21
57
原创 ubuntu18 网络问题
这个命令会根据/etc/network/interfaces这个文件里的配置信息来设置网卡,会覆盖掉上面方法一中的设置,导致不起作用。Ubuntu 18.04采用netplan来管理网络配置计划,在/etc/netplan/目录下有一个以yaml结尾的文件,例如00-installer-config.yaml,不同版本的系统这个文件名可能会有些差异,但是不影响,以实际为准。1,要看nm是否接管,如果没有接管,系统实际的IP设置以interfaces 中的为准。反之,以nm 中的为准。
2023-04-15 10:15:29
1319
原创 centos8 Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*yum makecache
2023-04-14 07:16:42
75
原创 pip3 config 更新源问题
在index-url源找不到所需要的包,才会在extra-index-url中搜索, trusted-host中添加信任主机,不然会遇到很多SSL信任问题 proxy_servers 添加公司/学校等的代理服务器。但是想没想过pip的默认源可是非常慢的,所以也可以先执行下面的命令,先使用临时的清华源进行升级pip,然后在设置清华源为默认源,非常完美的避开了慢如龟速的默认源。~/.pip/pip.conf (每一个我都找了都没有,所以我是在这个文件夹中创建的pip.conf文件)
2023-04-06 19:20:21
520
原创 导入importk8s集群,添加node节点,rancher agent,Rancher Agent设置选项
curl方式:Rancher在每个节点上部署代理以与节点通信。此页面描述了可以传递给代理的选项,要使用这些选项,您需要采用,并在docker run添加节点时将选项添加到生成的命令中。
2023-02-10 14:42:39
508
原创 mysql,mysqldump数据库导入导出sql文件
在使用MySQL数据库时,经常需要备份和恢复数据库,通过导出sql文件备份和直接执行sql文件恢复是非常便捷的方式。本篇博客主要介绍如何对MySQL数据库通过cmd命令导出和导入sql文件。
2023-02-02 13:08:57
8363
原创 mysql collation_server_MySql:charset和collation的设置_MySQL
我查遍了很多文档,似乎还没看到设置的办法 (有人说通过my.cnf,或者在启动mysqld时指定命令行参数,其实都是错的)查看设置:show global variables like 'character_set_server';不过,官方文档还说,"要想覆盖客户端上的自动检测编码功能,可在用于连接到服务器的URL中使用“characterEncoding”属性。也就是说,是在连接时查询服务器端的character_set_server值,再确定连接将使用的编码。2.显式设置:在创建表时指定。
2023-02-02 10:51:51
1155
原创 docker mysql8 my.cnf 配置讲解
可以看到MySQL8.0.11版本默认的认证方式是caching_sha2_password,而在MySQL5.7版本则为mysql_native_password。若想在MySQL8.0版本中继续使用旧版本中的认证方式需要在my.cnf文件中配置并重启,因为此参数不可动态修改。原来Mysql在之前的版本的关于password的加密方法都是使用的 mysql_native_password,,用自己习惯的文本编辑器即可,我用的。
2023-02-02 10:46:37
3366
原创 linux ,centos7,8限制IP访问
1、centos7 通过firewalld来控制IP访问2、【Linux】pkill命令--按照终端号踢出用户3、CentOS7下限制ip访问1、开放端口(1)如我们需要开启XShell连接时需要使用的22端口其中--permanent的作用是使设置永久生效,不加的话机器重启之后失效(2)重新载入一下防火墙设置,使设置生效(3)可通过如下命令查看是否生效(4)如下命令可查看当前系统打开的所有端口2、限制端口(1)比如我们现在需要关掉刚刚打开的22端口。
2022-12-01 16:17:27
4548
原创 Linux性能测试工具 stress,stress-ng,sysbench,fio以及检测dstat
通过man帮助,可以看到官方对dstat的定义为:多功能系统资源统计生成工具( versatile tool for generating system resource statistics)。
2022-11-09 12:50:12
3087
原创 k8s篇-集群内的DNS原理与配置和K8s hosts 解析 HostAliases
将dnsPolicy设置为None,同时添加dnsConfig字段手动配置DNS解析内容。
2022-11-08 14:27:17
3806
httrack-3.49.2-8.el8.x86_64
2022-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人