java
行走318
一个普通的java开发人员,想踏踏实实工作,写代码换点生活费。
展开
-
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 · 1815 阅读 · 0 评论 -
java代码实现灰度发布测试调新接口、旧接口的简单实现方案
背景:最近给我安排了一个任务,信贷系统这边提供一个接口给前端调用,该接口做开关和流量控制。开关关闭的时候,调旧风控接口,同时以一定流量阈值的概率调新风控接口,但是都是以旧的风控接口的返回内容给前端的,风控那边做新旧接口跑出来的授信额度是否一致的对比,分析线上新的风控接口能不能使用,同时不影响现有的逻辑。当验证新的风控接口没问题了,就把开关打开,并且流量阈值加大,并且如果调旧的风控接口,那么以旧...原创 2020-02-07 11:38:37 · 2193 阅读 · 0 评论 -
如何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 · 839 阅读 · 0 评论 -
xxl-job-admin实践
需求背景:因公司业务发展,涉及很多定时作业任务的调度的统一维护,用到了github上一个原携程的架构师的开源项目xxl-job-admin,好评很高,通用,易上手。这个是分布式的定时调度系统,提供了web管理页面和client端,很多大公司都在使用。我之前在一家小公司也用过它,写定时任务,每天拉取微信的对账文件,和自己系统的订单系统里的账单对账,一一对账,看是否有漏单,价格,总价是否一致。然后写一...原创 2019-09-25 19:32:32 · 5084 阅读 · 0 评论 -
windows环境搭建ELK日志分析
日志分析对做业务系统来说是非常重要的事情,比如生产环境出了一个BUG,这时就需要去查日志、查数据、查找错误的原因。一些小公司的业务系统一般都是单机或双机部署的,这个时候通过xshell远程登录服务器,cd 到logs目录,vi、grep、cat等linux命令查看日志还不是很费劲。当机器越来越多的时候,如果让一个开发人员去服务器上每一台机器都查看一遍日志,那么会弄疯掉的。所以这个时候就需要引入E...原创 2019-08-23 16:35:03 · 539 阅读 · 0 评论 -
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 · 4252 阅读 · 0 评论 -
jemter压测dubbo服务遇到的瓶颈分析
dubbo微服务分为服务提供者和服务消费者,单个linux虚拟机上部署单个dubbo服务节点,机器配置一般是4核8G内存,JVM参数配置是最大JVM内存是4G,其他的参数配置请百度参考。这次小编我用的是8核8G内存的linux虚拟机,该机器上部署了2个微服务节点,JVM最大内存是2G。我把服务消费者部署在另外的linux虚拟机上,部署了两个服务消费者,然后用nginx作负载均衡,请求分别路由到这两...原创 2019-06-27 15:33:43 · 797 阅读 · 0 评论 -
运用设计模式,把需要执行的类名配置在数据库,获取配置,再spring容器获取bean的实例并且执行其方法
第一步:设计数据库表,根据channel_id查找到类名、开关字段,用于判断开关和根据类名用spring容器获取其实例,截图如下第二步:定义一个全局的spring上下文类,定义其静态方法获取其bean的实例的方法,代码如下:public class ApplicationContextHolder { private static ApplicationContext ap...原创 2019-04-15 14:59:01 · 424 阅读 · 0 评论