自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 微服务集成skywalking监控

1、登录skywalking官网 https://skywalking.apache.org/downloads/,下载8.5版本。2、下载解压安装包,进入/config目录,修改application.yml,根据实际情况配置数据库信息。3、配置好数据库以后,进入/bin目录,双击startup。4、打开浏览器输入localhost:8080/#/user/login,用户名和密码均为admin,登录后进入页面。5、微服务启动脚本如下:-javaagent:D:..

2021-11-26 15:16:57 1304

原创 Dubbo个别接口方法配置不重试和超时时间

1、dubbo的超时时间优先级为:消费者Method>提供者method>消费者Reference>提供者Service>消费者全局配置provider>提供者全局配置consumer。2、消费者配置@DubboReference(timeout = 20000,parameters = {"insertCarService.retries", "-1","bookRemindToDMS.retries", "-1"})3、服务提供者配置@DubboServ

2021-10-26 16:04:28 1712

原创 spring cloud gateway统一异常拦截处理

直接贴代码,如下:import com.alibaba.fastjson.JSON;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.boot.autoconfigure.web.ErrorProperties;import org.springframework.boot.autoconfigure.web.ResourceProperties;import org.sprin

2021-09-03 15:58:28 2023

原创 Dockerfile-dev

FROM 12.13.14.15:9876/library/centos-jdkADD target/*.jar /root/gateway.jarWORKDIR /rootENTRYPOINT ["java","-jar","-Dspring.profiles.active=dev","-Dreactor.netty.http.server.accessLogEnabled=true","-Xms2048m","-XX:+UseParNewGC","-XX:+UseConcMarkSweep.

2021-09-03 15:49:36 140

原创 logback.xml配置

背景:docker + k8s 集群部署java应用时,节点不确定,会根据实际情况动态部署,那么日志文件的数据量就动态变化,日志文件又需要统一放到日志管理平台下。所以有必要根据ip生成日志文件名称。1、在自己的项目里新建一个类 HostnameConfig 继承 PropertyDefinerBase 类,重写该方法,代码如下import ch.qos.logback.core.PropertyDefinerBase;import java.net.InetAddress;import jav

2021-09-03 15:47:02 790

原创 swagger2使用github开源xiaoymin-ui

1、导入依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency><dependency> <groupId>io.springfox</grou

2021-09-02 16:17:21 1864

原创 java应用单机版限流实现方案

1、引入依赖jar<dependency> <groupId>com.github.vladimir-bukhtoyarov</groupId> <artifactId>bucket4j-core</artifactId> <version>4.10.0</version></dependency>2、实现spring 拦截器...

2021-09-02 15:47:40 385

转载 雪花算法生成唯一主键

import java.util.Date;/** * SnowFlake的结构如下(每部分用-分开):<br> * 0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000 <br> * 1位标识,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正数,最高位是0<br> * 41位时间截(毫秒级),注意,4..

2021-09-02 11:53:36 77

原创 HystrixCommand熔断配置参数使用

@HystrixCommand(fallbackMethod = "onError", threadPoolProperties = { @HystrixProperty(name = "coreSize",value = "20"), @HystrixProperty(name = "allowMaximumSizeToDivergeFromCoreSize",value="true"), ...

2021-09-02 11:33:59 616

原创 springboot redis配置连接

#redis配置spring: redis: database: 1 host: 127.0.0.1 port: 6379 password: 123456 timeout: 10000 block-when-exhausted: true pool: max-active: 1024 max-wait: 10000 max-idle: 200 min-idle: 0备注解释:block...

2021-09-02 11:16:29 231

原创 springboot mongodb集群认证连接方式配置

spring: data: mongodb: uri: mongodb://mguserName:[email protected]:27017,112.167.82.33:27017,112.167.82.35:27017/myapp?replicaSet=hdj2&authSource=adminreplicaSet参数,用于指定连接的复制集通过admin库进行登录认证,进而操作myapp库...

2021-09-02 11:09:21 1496

原创 RSA签名、接口返回定义规范、MD5加密

header Parameterssignature required string rsa签名 Request Body schema: application/jsonjson formatpid required string 系统分配固定pid,对应着私钥、公钥 client_ip required string 实际接口使用者ip.厂商代理的请求,请填入用户ip

2021-09-01 18:23:21 521

原创 Jmeter性能测试实践

一、Jmeter的基础介绍省略,有需要的可以去官网了解。官网地址:https://jmeter.apache.org/二、这里介绍本地单击版的使用,实际上生产环境压测是需要部署分布式Jmeter。分布式Jmeter就不介绍了,大同小异,弄清楚了单机版,稍微变通一下即可。三、本地PC电脑先装好JDK、配置好JDK环境变量,JDK版本1.8以上。四、下载 Jmeter 解压包,解压即可使用,下载地址 :https://jmeter.apache.org/download_jmeter.cgi

2021-07-06 17:09:05 228

原创 改造sentinel-dashboard使用nacos存储限流规则及页面操作规则同步到nacos配置文件

各位看到这个博客的朋友,有需要的,参考使用,绝对良心创作,绝对可行的demo。1、先去 https://github.com/alibaba/Sentinel/releases 下载一份源码,版本选择

2021-06-10 17:31:52 721 4

原创 spring cloud gateway重写请求体和响应体及动态路由

重新请求体处理类:import org.apache.commons.lang3.StringUtils;import org.apache.dubbo.config.annotation.DubboReference;import org.reactivestreams.Publisher;import org.springframework.cloud.gateway.filter.factory.rewrite.RewriteFunction;import org.springframe

2021-06-02 16:03:47 2950

原创 运行java应用sh脚本

比如 stop java应用#!/bin/shPID=$(cat /root/test/test.pid)kill -9 $PID

2021-06-02 14:35:15 142

原创 linux命令行统计nginx链接数并发

egrep-i"\[25/May/2021:16"access.log-2021-05-25|awk'{if($9~/200|30|404|50/)COUNT[$4]++}END{for(iinCOUNT)printi,"并发次数:",COUNT[i]}'|sed's/\[//g'|sort-rnk3|awk'{if($3>=20)print}'

2021-06-01 16:56:31 178

原创 spring cloud gateway处理请求有256kb大小的限制的解决办法

系统架构:注册中心和配置中心是nacos,版本1.3.0 。springboot版本是2.2.6.RELEASE,spring cloud alibaba版本是<spring-boot.version>2.2.6.RELEASE</spring-boot.version><spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version><spring-cloud.

2020-08-27 09:57:55 9164 3

原创 java代码实现灰度发布测试调新接口、旧接口的简单实现方案

背景:最近给我安排了一个任务,信贷系统这边提供一个接口给前端调用,该接口做开关和流量控制。开关关闭的时候,调旧风控接口,同时以一定流量阈值的概率调新风控接口,但是都是以旧的风控接口的返回内容给前端的,风控那边做新旧接口跑出来的授信额度是否一致的对比,分析线上新的风控接口能不能使用,同时不影响现有的逻辑。当验证新的风控接口没问题了,就把开关打开,并且流量阈值加大,并且如果调旧的风控接口,那么以旧...

2020-02-07 11:38:37 2163

原创 如何DEBUG远程环境运行的springboot项目

背景:uat环境、sit环境有时候报错了,需要排查问题,但是测试的数据,在开发环境没有,所以这个时候就需要本地debug远程服务器上运行的代码了。这里使用springboot项目专用的开发工具STS作个使用介绍。1、首先在服务器上部署你的springboot应用项目,启动应用,我的jar是17gotrip-0.0.1-SNAPSHOT.jar,远程调试开放端口是15813,http访问端口是1...

2019-11-05 16:02:31 812

原创 xxl-job-admin实践

需求背景:因公司业务发展,涉及很多定时作业任务的调度的统一维护,用到了github上一个原携程的架构师的开源项目xxl-job-admin,好评很高,通用,易上手。这个是分布式的定时调度系统,提供了web管理页面和client端,很多大公司都在使用。我之前在一家小公司也用过它,写定时任务,每天拉取微信的对账文件,和自己系统的订单系统里的账单对账,一一对账,看是否有漏单,价格,总价是否一致。然后写一...

2019-09-25 19:32:32 5054

原创 mock web系统开源项目推荐

需求背景:公司的业务系统有支付路由、支付服务模块,支付服务模块对接了很多支付公司、银行,用于放款、代扣。支付服务模块是dubbo框架开发的,与支付公司、银行对接就涉及了联调测试,银行和支付公司的接口文档、接口都是现成的,经历了对接N多公司了,几乎完善无BUG,所以对接支付公司、银行的联调测试,只要按着接口文档模拟入参,出参即可。而已支付公司、银行不会有那么多时间陪你联调测试、压力测试,所以这个时候...

2019-09-25 10:43:14 3041

原创 数据库开发规范

一、数据库命名规范1、所有数据库对象名称必须使用小写字母并用下划线分割2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符4、临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀5、所有存储相同数据的列名和列类型必须一致(...

2019-09-10 11:32:17 595

原创 windows环境搭建ELK日志分析

日志分析对做业务系统来说是非常重要的事情,比如生产环境出了一个BUG,这时就需要去查日志、查数据、查找错误的原因。一些小公司的业务系统一般都是单机或双机部署的,这个时候通过xshell远程登录服务器,cd 到logs目录,vi、grep、cat等linux命令查看日志还不是很费劲。当机器越来越多的时候,如果让一个开发人员去服务器上每一台机器都查看一遍日志,那么会弄疯掉的。所以这个时候就需要引入E...

2019-08-23 16:35:03 531

原创 linux机器上执行shell脚本有时会出现java command not found的错误提示的解决办法

有时候很尴尬的是我用Xshell6这个工具,连接了一台linux系统的机器,这个机器已经装了jdk,配置了JAVA_HOME、PATH 、CLASSPATH,当我执行sh start.sh脚本时却提示 java command not found 。这个时候真是一股恼火,我使用命令 which java 查看执行如下命令查看:echo $JAVA_HOMEecho $PATH...

2019-08-06 14:11:23 3880

原创 jemter压测dubbo服务遇到的瓶颈分析

dubbo微服务分为服务提供者和服务消费者,单个linux虚拟机上部署单个dubbo服务节点,机器配置一般是4核8G内存,JVM参数配置是最大JVM内存是4G,其他的参数配置请百度参考。这次小编我用的是8核8G内存的linux虚拟机,该机器上部署了2个微服务节点,JVM最大内存是2G。我把服务消费者部署在另外的linux虚拟机上,部署了两个服务消费者,然后用nginx作负载均衡,请求分别路由到这两...

2019-06-27 15:33:43 779

原创 运用设计模式,把需要执行的类名配置在数据库,获取配置,再spring容器获取bean的实例并且执行其方法

第一步:设计数据库表,根据channel_id查找到类名、开关字段,用于判断开关和根据类名用spring容器获取其实例,截图如下第二步:定义一个全局的spring上下文类,定义其静态方法获取其bean的实例的方法,代码如下:public class ApplicationContextHolder { private static ApplicationContext ap...

2019-04-15 14:59:01 414

原创 spring cloud单点微服务超时重试与dubbo单点微服务超时重试比较图解

使用dubbo作为rpc的微服务,一般的系统都不需要考虑重试,所以一些请求连接超时、请求处理超时都是采用默认的配置,但是实际情况上很多情况,数据库压力特别大的时候,数据库服务器的内存和cpu资源占用率很高,sql执行时间可能会超过30秒,一般这个情况下tomcat服务端程序或springboot程序是不会报错的,程序还是正常执行了,但是nginx那边已经报502超时了,把这个锅背了。在小公司...

2019-03-27 16:06:37 585

原创 spring配置事务管理

bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"          p:dataSource-ref="dataSource">  bean>       bean id="txManager"          class="org.springframework.jdbc.

2017-11-28 15:01:45 272

转载 Spring Cloud构建微服务架构(五)服务网关 原创 2016-07-12 翟永超 Spring Cloud 被围观 53984 次 通过之前几篇Spring Cloud中几个核心组件的介

Spring Cloud构建微服务架构(五)服务网关原创 2016-07-12 翟永超 Spring Cloud被围观 53984 次通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了。比如下图所示:alt我们使用Spring Cloud Netflix中的Eureka实现

2017-11-10 11:07:36 466

原创 如何通过反射调用对象的方法?

请看下面的代码:import  java.lang.reflect.Method; class MethodInvokeTest {     public static void main(String[] args) throwsException {        String str = "hello";        Method m = str.getClas

2017-09-25 16:18:39 768

原创 如何通过反射获取和设置对象私有字段的值?

可以通过类对象的getDeclaredField()方法字段(Field)对象,然后再通过字段对象的setAccessible(true)将其设置为可以访问,接下来就可以通过get/set方法来获取/设置字段的值了。下面的代码实现了一个反射的工具类,其中的两个静态方法分别用于获取和设置私有字段的值,字段可以是基本类型也可以是对象类型且支持多级对象操作,例如ReflectionUtil.get(do

2017-09-25 16:16:59 6415

原创 如何通过反射创建对象?

如何通过反射创建对象?方法1:通过类对象调用newInstance()方法,例如:String.class.newInstance()方法2:通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器(Constructor)对象并调用其newInstance()方法创建对象,例如:String.class.getConst

2017-09-25 16:15:02 1534

原创 java使用Url获取sql文件的地址读取sql

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;

2017-09-21 16:09:12 897

原创 java发送邮件工具类

import java.io.File;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.DataSource

2017-09-20 15:37:47 309

原创 java导出excel

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.lang.reflec

2017-09-20 15:35:22 338

原创 java操作FTP工具类

import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.net.SocketException;import or

2017-09-20 15:30:18 569

原创 Java过滤字符串无效字符

//过滤掉字符串中的无效字符 public static String delInvalidChar(String str) {  if (str == null || str.equals("")) {   return "";  }  for (int i = 0; i    char ch = str.charAt(i);   //如果是无效字符,则替

2017-07-26 16:12:27 1945

转载 ajax请求不进入success函数的原因

例如:function testAsync(){    var temp;    $.ajax({        async: false,        type : "post",        url : 'api/user',        complete: function(msg){            alert('comple

2017-06-06 09:37:00 3355

原创 使用java的输出流写一个json格式的文件在指定目录下

思路是这样的,先写一个工具类的静态方法,该方法将传来的json字符串写成一个文件。然后在写一个线程类,通过构造方法传参,将json字符串传进来。我把测试类、写文件类、线程类的代码贴出来,大家一看就明白了我的思路。写文件的类:package com.bdc.utils;import java.io.*;/** * Created by Jony lai on 2017/5/1

2017-05-22 09:28:44 8267

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除