- 博客(149)
- 收藏
- 关注
原创 使用 iPerf 测试路由器局域网性能
iPerf3 介绍iPerf3 是一个网络带宽测试工具,iPerf3 可以测试 TCP 和 UDP 带宽质量。iPerf3 可以测量最大 TCP 带宽,具有多种参数和 UDP 特性,iPerf3 可以报告带宽、延迟抖动和数据包丢失。利用 iPerf3 这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。使用 iPerf3 ,你可以调整与时序、缓冲区和协议(如TCP、UDP、SCTP)相关的几个参数。它对网络性能调优操作很方便,为了获得最大或相当改善的网络性能,你需要增加吞吐量以及网络接收
2021-05-06 14:54:53
1918
原创 Hystrix 源码解析
Hystrix工作的流程图如下:Hystrix的工作流程结合上图如下:(1)每次调用都会创建一个HystrixCommand(2)执行execute或queue做同步/异步调用(3)判断熔断器是否打开,如果打开跳到步骤8,否则进入步骤4(4)判断线程池/信号量是否跑满,如果跑满进入步骤8,否则进入步骤5(5)调用HystrixCommand的run方法,如果调用超时进入步骤8(6)判断是否调用成功,返回成功调用结果,如果失败进入步骤8(7)计算熔断器状态,所有的运行状态(成功, 失败, 拒
2020-11-26 17:50:14
639
原创 Eureka 源码解析
Eureka的依赖如下:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>项目中开启Eureka只需要加一个注解:@EnableEurekaServer进入到注解里面:@Target(Eleme
2020-11-24 09:53:55
382
转载 Eureka 概念与原理解析
Eureka 核心概念Eureka 里面的重要角色整体上可以分为两个主体:Eureka Server 和 Eureka Client。Eureka Server 注册中心服务端注册中心服务端主要对外提供了三个功能:(1)服务注册服务提供者启动时,会通过 Eureka Client 向 Eureka Server 注册信息,Eureka Server 会存储该服务的信息,Eureka Server 内部有缓存机制来维护整个注册表。(2)提供注册表服务消费者在调用服务时,如果 Eureka Cli
2020-11-20 17:19:47
452
原创 Java 枚举 enum 详解
枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数;枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 1~7 天中的一个…类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型;在 JDK 1.5 之前没有枚举类型,那时候一般用接口常量来替代,而使用 Java 枚举类型 enum 可以更贴近地表示这种常量。声明枚举声明枚举时必须使用 e...
2019-12-13 14:50:00
352
1
原创 Windows 安装 Maven
去 http://maven.apache.org/download.cgi 下载选择 apache-maven-3.6.3-bin.zip解压下载好的 Maven 到 C:\Matrix\Maven配置环境变量右击 我的电脑 ,点击 属性 ,选择 高级系统设置 ,选择 高级 选项卡,点击 环境变量添加 M2_HOME 和 MAVEN_HOME ,并将其指向 Maven 文件夹,如:M...
2019-12-09 14:11:51
230
原创 RocketMQ 入门指南
1. 下载安装下载地址:http://rocketmq.apache.org/dowloading/releases/我下载的是:rocketmq-all-4.5.2-bin-release.ziphttps://archive.apache.org/dist/rocketmq/4.5.2/rocketmq-all-4.5.2-bin-release.zip解压文件:unzip roc...
2019-12-03 13:54:49
295
原创 Nginx 搭建文件服务器
修改 nginx.conf 文件,添加配置和 server:autoindex on;autoindex_exact_size on;autoindex_localtime on;server { listen 8080; location / { root /usr/local/appkg/; } error_page 404 /40...
2019-11-29 10:00:28
154
原创 Linux Docker 使用指南
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源;Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化;容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低;Docker 从 17.03 版本之后分为 CE...
2019-11-28 15:33:52
820
原创 Linux 安装 Zookeeper
ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 Hbase 的重要组件;它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等;下面演示在 Linux 安装 Zookeeper。下载:https://zookeeper.apache.org/releas...
2019-11-26 11:03:40
160
原创 DevOps 与 CICD 详解
DevOpsDevOps 是 Development(开发)和 Operations(运维)的组合,是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合,以期打破传统开发和运营之间的壁垒和鸿沟;DevOps 是一种重视软件开发人员(Dev)和IT运维技术人员(Ops)之间沟通合作的文化、运动或惯例,通过自动化软件交付和架构变更的流程...
2019-11-26 09:02:24
12579
原创 什么是 Webhook?
1. 什么是 Webhook?Webhook 是一个 API 概念,是微服务 API 的使用范式之一,也被成为反向 API,即前端不主动发送请求,完全由后端推送;举个常用例子,比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是 Webhook 的典型场景。简单来说,Webhook 就是一个接收 HTTP POST(或GET,PUT,DELETE)的URL,一个实现了 W...
2019-11-25 14:33:55
1816
原创 Junit 多函数参数化测试详解
Junit 参数化测试的五个步骤(1)为准备使用参数化测试的测试类指定特殊的运行器 org.junit.runners.Parameterized(2)为测试类声明几个变量,分别用于存放期望值和测试所用数据(3)为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值(4)为测试类声明一个使用注解 org.junit.runners.Parameterized.Pa...
2019-11-20 14:31:54
2924
原创 Spring Boot mvnw 启动报错 Could not find or load main class org.apache.maven.wrapper.MavenWrapperMain 处理
这种情况一般是 Maven Wrapper 没设置好,可以运行下设置命令:mvn -N io.takari:maven:wrapper如果提示:[ERROR] Unknown lifecycle phase “–N”. You must specify a valid lifecycle phase or a goal…去掉 -N 再试下即可mvn io.takari:maven:wr...
2019-11-19 10:35:26
1621
原创 Tomcat 使用 IDEA 远程 Debug 调试
服务器上的 Tomcat 设置在 tomcat/bin 目录下的 catalina.sh 开始位置添加如下设置:CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9080,suspend=n,server=y"address=9080 这个是后边 IDEA 需要用到的调试端口,可以任意设置一个未使用的端口修改后的文件...
2019-11-06 16:24:20
272
原创 Nginx 中 root 和 alias 的区别
root 与 alias 主要区别在于 Nginx 如何解释 location 后面的 URI,这会使两者分别以不同的方式将请求映射到服务器文件上root 的处理结果是:root 路径 + location 路径alias 的处理结果是:使用 alias 路径替换 location 路径alias 是一个目录别名的定义,root 则是最上层目录的定义还有一个重要的区别是 alias 后面要...
2019-11-04 17:22:19
285
原创 CronExpression 表达式详解
参数序号参数名是否可选1Seconds否2Minutes否3Hours否4Day-of-Month否5Month否6Day-of-Week否7Year是例如:"0 0 12 ? * WED" 在每星期三下午 12:00 执行其中每个元素可以是一个值 (6),一个连续区间 (9-12),一个间隔时间(8-1...
2019-11-01 14:42:55
17952
3
原创 BeanUtils.copyProperties 详解
简介BeanUtils 提供对 Java 反射和自省 API 的包装,其主要目的是利用反射机制对 JavaBean 的属性进行处理我们知道,一个 JavaBean 通常包含了大量的属性,很多情况下,对 JavaBean 的处理导致大量 get/set 代码堆积,增加了代码长度和阅读代码的难度用法BeanUtils 是这个包里比较常用的一个工具类,这里只介绍它的 copyProperties...
2019-11-01 11:21:01
1533
原创 IDEA 代码格式化设置
模板文件下载IDEA 代码格式化设置,使用 Eclipse 设置,设置成阿里巴巴规范阿里巴巴格式化模板文件下载地址:https://github.com/alibaba/p3ceclipse-codestyle.xml 是代码格式化时用的模板eclipse-codetemplate.xml 是注释模板我们需要的是 p3c/p3c-formatter/eclipse-codestyle....
2019-10-31 14:18:12
11803
3
原创 Java 使用 @Data 注解优化代码
Lombok 是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立 getter 和 setter 方法和构造函数啊之类的,Lombok 的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。在项目中使用时,首先在 pom.xml 中...
2019-10-29 15:57:13
1334
原创 Windows 使用 Fiddler 抓包 IOS
1. 安装证书电脑端点击 Tools -> Options 进行如下配置:HTTPS 标签页,选中 Decrpt HTTPS traffic ,Fiddler 就可以截获 HTTPS 请求;继续勾选 Ignore server certificate errors;Connections 标签页,选中 Allow remote computers to connect,是允许别的机...
2019-10-29 14:32:55
1550
转载 Spring Cloud 服务器启动之后立刻通过 Zuul 访问其中的实例连接超时的问题解答
Spring Cloud 服务启动之后,立刻进行调用出现如下报错:com.netflix.zuul.exception.ZuulException: Forwarding errorCaused by: com.netflix.client.ClientException: nullCaused by: java.lang.RuntimeException: java.net.SocketT...
2019-10-22 15:29:41
539
原创 MacOS 使用 Charles抓包
1. 安装证书电脑端点击:Help -> SSL Proxying -> Install Charles Root Certificate可以看到不信任红字,系统默认对 Charles 证书是不信任的,我们双击 Charles 证书 Charles Proxy CA点击 Trust,都选择 Always Trust 即可手机端点击 Help -> SSL Proxyi...
2019-09-30 14:47:39
369
原创 MacOS 安装 Maven
去 http://maven.apache.org/download.cgi 下载,选择 apache-maven-3.6.2-bin.zip解压下载好的 Maven 到 /usr/local/bin/maven设置 PATH:vi ~/.bash_profile添加 Maven 的路径,将下载好的 Maven 资源引入 PATH 中:export M2_HOME=/usr/local...
2019-09-30 14:03:32
186
原创 Someone Like You 《另寻沧海》
I heard, that you’re settled down.已闻君,诸事安康。That you, found a girl and you’re married now.遇佳人,不久婚嫁。I heard that your dreams came true.已闻君,得偿所想。Guess she gave you things, I didn’t give to you.料得是...
2019-09-13 12:39:52
280
原创 Office 实现 Shift+Scroll 横向滚动
在 Windows 中,微软变态的设计,Excel中只能竖向滚动,凡是正常的软件,都能 Shift + Scroll 横向滚动,还好背后有强大的网友,具体实现如下:先下载文件: https://github.com/T800G/OfficeScroll/releases解压后点击 INSTALL.bat 即可卸载点击 REMOVE.bat 即可重新启动 Excel 就可以使用 Shift+...
2019-09-08 10:37:54
6294
9
原创 Linux 安装 MongoDB
MongoDB提供了Linux各发行版本64位的安装包,你可以在官网下载安装包下载地址:https://www.mongodb.com/download-center#community下载完安装包,解压tgz:tar -zxvf mongodb-linux-x86_64-3.0.6.tgz将解压包拷贝到指定目录:mv mongodb-linux-x86_64-3.0.6/ /usr...
2019-09-06 15:44:24
99
原创 Maven 命令 package, install, deploy 的区别
1. packagemvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段;2. installmvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、...
2019-09-06 15:26:07
191
原创 Linux 安装 MongoDB
MongoDB提供了Linux各发行版本64位的安装包,你可以在官网下载安装包下载地址:https://www.mongodb.com/download-center#community下载完安装包,解压tgz:tar -zxvf mongodb-linux-x86_64-3.0.6.tgz将解压包拷贝到指定目录:mv mongodb-linux-x86_64-3.0.6/ /usr...
2019-08-26 15:29:12
105
原创 软件测试方法汇总
黑盒测试之所以被称为黑盒测试是因为可以将被测程序看成是一个无法打开的黑盒 , 而工作人员在不考虑任何程序内部结构和特性的条件下 , 根据需求规格说明书设计测试实例 , 并检查程序的功能是否能够按照规范说明准确无误的运行 ; 其主要是对软件界面和软件功能进行测试 ; 对于黑盒测试行为必须加以量化才能够有效的保证软件的质量白盒测试其与黑盒测试不同 , 它主要是借助程序内部的逻辑和相关信息 , 通...
2019-07-19 10:57:50
954
转载 深入浅出一致性 Hash 原理
1. 前言在解决分布式系统中负载均衡的问题时候可以使用 Hash 算法让固定的一部分请求落到同一台服务器上 , 这样每台服务器固定处理一部分请求 (并维护这些请求的信息) , 起到负载均衡的作用但是普通的 余数 Hash (比如用户 id% 服务器机器数) 算法伸缩性很差 , 当新增或者下线服务器机器时候 , 用户 id 与服务器的映射关系会大量失效 ; 一致性 Hash 则利用 Hash 环...
2019-07-18 16:18:41
183
原创 Windows 安装 Redis
1. 基本知识Redis 的数据类型字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈希表 (hashs)Redis 和 memcache 相比的独特之处redis可以用来做存储 (storge) , 而memcache是来做缓存 (cache) 。这个特点主要是因为其有 “持久化” 功能存储的数据有 “结构” , 对于memcac...
2019-07-17 00:12:36
114
转载 MyBatis 时间格式出现 .0 解决办法
使用 MyBatis 的时候 , 总是会遇到后面多一个 .0 的情况 , 这种情况使用 MySql 的时间格式化函数就可以了 :DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') AS createTime参数列表 :%M 月名字 (January……December) %W 星期名字 (Sunday……Saturday) %D 有英语前缀的月份的...
2019-07-01 12:17:29
6315
原创 Windows 常用命令
1. 切换目录# F: // 切换到F盘# cd F:\Code\Cache // 切换到子目录# cd .. // 上层目录2. 显示当前目录的所有文件# dir3. 清屏# cls4. 显示计算机信息# systeminfo5. 显示 IP 地址信息# ipconfig -all6. 创建符号链接和硬链接# mklink /J "C:\Users...
2019-07-01 11:55:39
158
原创 JDK , Tomcat , Eclipse 版本对应关系
1. JDK , Tomcat 版本对应关系参考网址 : https://tomcat.apache.org/whichversion.html2. JDK , Eclipse 版本对应关系参考网址 : https://wiki.eclipse.org/Eclipse/Installation作者 Github : tojohnonly , 博客 : EnskDeCode...
2019-07-01 11:42:56
2154
原创 MacOS 安装 MySql
1. 下载打开网址 : https://dev.mysql.com/downloads/mysql/登录进去 , 选择 macOS 版本 , 再选择 MySQL Community Server 5.7.26 的 macOS 10.14 (x86, 64-bit), DMG Archive下载链接 : https://cdn.mysql.com//Downloads/MySQL-5.7/my...
2019-06-24 01:00:47
639
原创 MacOS 的 Java 开发环境配置
下载安装 JDK以安装 Java SE 版本为例 , 先去官网下载 SDK :http://www.oracle.com/technetwork/java/javase/downloads/index.html选择 MacOS 版本 :https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaa...
2019-06-23 23:52:29
640
原创 Java 集合框架
Java 集合框架图Java Collections Framework Overview作者 Github : tojohnonly , 博客 : EnskDeCode
2019-06-04 17:40:59
1266
原创 Windows 安装 MongoDB
MongoDB 下载与安装MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包 , 你可以从 MongoDB 官网下载安装 , MongoDB 预编译二进制包下载地址 :https://www.mongodb.com/download-center/community我下载了 mongodb-win32-x86_64-2008plus-ssl-4.0.10.zip , 解压...
2019-06-04 17:20:19
571
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人