11 约定291天后

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

一次线上关键REST接口调用卡死bug排查

一次线上关键REST接口调用卡死bug排查背景介绍初步排查组织攻关排查乱查一通现场再次复现总结背景介绍本来是可以在文章标题中将bug现象说的更具体一点,但聪明TX可能一眼就知道问题所在,相对来说没有了挑战性。问题是这样,微服务架构中,其中的一个提供协议拓扑的组件,在线上运行时,突然无法查询拓扑数据,手动进入后台调用时,相关调用接口也一直阻塞,无数据返回。如图所示:初步排查在第一次出现该...

2020-03-30 22:35:27

GraphQL从零开始的应用实践-OSGI框架

GraphQL从零开始的应用实践-OSGI框架实现效果展示schema描述模型定义接口定义开发实现POM依赖scheam加载数据Fetcher绑定完成GraphQL创建GraphiQL实现效果展示组件对外提供了一个Rest用于传递输入的GQL语句与入参,如图所示,展示了一个按协议类型查询端口id和名称的例子:查询语句:{ "query": "query{filterLtp(key:\...

2020-03-21 10:37:39

指令一览表

指令一览表Maven编译指令编译问题only whitespace content allowed before start tag and notDocker常用操作线程dumpMaven编译指令mvn -DskipTests -Dcheckstyle.skip=true clean install -Dmaven.javadoc.skip=true -T 1C -Dmaven.fork...

2020-03-19 18:45:04

DailyZipRollingFileAppender配置指导

DailyZipRollingFileAppender配置指导VS RollingFileAppender依赖配置注意点VS RollingFileAppender与RollingFileAppender相关,DailyZipRollingFileAppender提供按时间进行压缩日志的功能,可以进一步降低日志的存储空间占用。同时按日志的修改时间排序可以进行日志的清理,保证日志的空间占用可控。...

2020-03-18 23:44:19

OSGI应用中集成Jolokia

OSGI框架中嵌入Jolokia导入并安装jolokia的bundle阅读官方文档验证功能导入并安装jolokia的bundle<dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-osgi</artifactId> <versio...

2020-02-02 13:48:05

巧用CompletableFuture返回值解决性能瓶颈

巧用CompletableFuture返回值实现并发需求背景CompletableFuture\需求背景对一组字符串数据进行处理,处理逻辑简单封装一个对象,包装该字符串,最终汇总返回。下面实现只使用CompleteableFuture,其它方式如paraStream不考虑。CompletableFuture<Void>实现考虑到性能,对于字符串的处理可以进行并发。实现如下: ...

2020-01-17 17:45:13

神来之笔-线程变量实践

神来之笔-线程变量实践ThreadLocal作用ThreadLocal实例子线程共享父线程的变量InheritableThreadLocal原理InheritableThreadLocal缺陷TransmittableThreadLocal实现TransmittableThreadLocal原理ThreadLocal作用ThreadLocal是用于存储线程在任务执行过程便于获取参数和设置参数的...

2020-01-04 15:47:54

JAVA对象一致性比较(属性值)

JAVA对象属性比较实现HashCode方法序列化方法反射比较HashCode方法该方法也是最为正规的方法,重写对象的hashCode与equals方法,可以实现对象间相等性比较的判断。序列化方法该方法是将A和B对象分为JSON序列化成字符串,利用字符串的来进行对象相等性比较。简单贴一下代码:public static boolean seniorCompare(Object srcOb...

2020-01-01 14:16:35

使用Multimap一次并发异常后的思考

Multimap引发血案一对多MapMultimap实现诡异的丢数据尝试一尝试二尝试三分析与结论建议一对多Map我们知道传统的map,支持一对一的映射,如果要使用一对多,则可以定义成Map<Object,List<Object>>方式。一般写法如下: public static <K, V> void addMapList(K key, V val...

2019-12-29 15:28:14

Kafka消息消费之性能提升实践

性能提升之(批量提交+超时提前)应用场景接口定义实现测试用例应用场景实际中可能有这样的应用场景,得到一个记录不需要立即去处理它,而是等累积到一定数量时再批量处理它们。然后如果数据积累不到指定的数量,也不能一定等下去,造成这批数据一直得不到处理。所以还要增加超时机制,在超时时间到达后,即使积累数据不到指定的数量也进行提交处理。存储队列必须线程安全,如 Vector, Hashtable, St...

2019-12-21 09:22:37

JSR 269实践

JAVA中SPI的实践欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入在csdn ...

2019-12-07 16:24:12

优雅关闭线程

优雅关闭线程实现代码实现代码/** * @Author 10184538 * @Date 2019/10/28 13:08 **/public class BgpLsLinkMsgHandlerThread extends Thread { private volatile boolean running = true; @Override public vo...

2019-12-07 11:51:15

CompletableFuture在性能优化中的使用

CompletableFuture在性能优化中的使用实践:打印一个集合内的所有内容ParallelStreamCompletableFutrue对比注意事项ParallelStream自定义线程池实践:打印一个集合内的所有内容数据准备: private static final int COUNT = 100000; private Vector<String> d...

2019-10-15 18:58:17

使用MBean和Jolokia实现数据监控

使用MBean和Jolokia实现数据监控静态MBean的定义MBean注册使用代码查询MBean属性与执行方法如何避免每个静态MBean都要单独定义接口静态MBean的定义通过MBean的定义可以在系统运行时,查看系统内部的数据或执行系统内部的功能,真正的使用过程中静态MBean的使用是最多的。定义的MBean必须实现以类名+MBean的接口如下所示定义了一个MBean结构Shard...

2019-09-29 16:08:18

Disruptor实际应用示例

Disruptor实际应用示例简介告警处理需求告警信息处理器调度DisruptorApplicationEventHandlerProcessClassUtil测试AbstractEventHandlerODL实现简介Disruptor它是一个开源的并发框架,并获得2011 Duke’s 程序框架创新奖,能够在无锁的情况下实现Queue并发操作。同学们代码中是否会使用到BlockingQueu...

2019-09-22 14:22:07

SPI实现原理介绍

SPI实现原理介绍SericeLoaderLoad方法查找实现类创建实例SericeLoader从JAVA中的SPI实践学习中了解到查找实现的一个重要方法为:ServiceLoader shouts = ServiceLoader.load(Handler.class);其类结构为:public final class ServiceLoader<S> imple...

2019-09-22 11:11:02

JAVA中的SPI实践学习

JAVA中的SPI实践学习介绍Animal接口Animal接口实现调用测试模块更进一步**具体实现逻辑依赖为三步**介绍SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了...

2019-09-22 10:10:58

Actor测试用例一般写法

对于Actor的测试,可以使用TestActorRef和TestProb:TestActorRef:用于获取Actor对象,能够获取actor中内部属性,使用方法underlyingActor(有泛型)TestProb:用于判断actor接收消息后回应消息的判断,可以验证actor功能是否正常,使用方法expectMsg具体使用示例参考如下:package com.zte.s...

2019-09-19 17:53:15

清空PG库中所有表中数据SQL脚本

DO $$DECLARE names CURSOR FOR select tablename from pg_tables where schemaname='public';BEGIN FOR stmt IN names LOOP EXECUTE 'truncate table '|| quote_ident(stmt.tablename); END LOO...

2019-07-30 00:43:26

OSGI框架里对于依赖的非bundle化的JAR处理

目前项目使用的是OSGI框架,随着功能越来越复杂,依赖的第三方开源组件也越来越多。但并不是所有通过Maven依赖的jar都是bundle,这样导致系统需要处理这类情况。目前方式两种:1、在使用模型的pom文件加入该jar的依赖,在feature.xml文件中将该jar包装成bundle发布 <dependency> <groupId...

2019-07-13 09:21:11

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享王者
    分享王者
    成功上传51个资源即可获取