小浩子的博客

我是个穷人!

kafka优化之多线程消费

我之前用ssm消费kafka,在注解配置了消费队列,这是一种来生产多少,消费多少的形式,为了提升性能,加了一些优化:消费分为两部分:接收生产消费不变,执行消费行为用线程跑,但又不能无限制的开启线程,所以,最好用线程池管理 先看不需要返回结果的(runnable),应用:把消费代码封装,实现runn...

2019-02-23 14:15:22

阅读数 0

评论数 0

kafka开发小结

最近两个月,项目开发用到kafka,今天终于跑通了线上环境,这期间也踩了不少坑,在这里做一个总结。 大致需求:做一个图像处理工具,每天处理10w的图片,由于机房分布在不同地方,这里有两套kafka集群环境,业务系统也有好几个 开发思路:1.先准备内网环境 2.创建单机kafka 3.开发业务系统 ...

2019-02-16 15:12:16

阅读数 12

评论数 0

kafka运行时某个节点丢失

最近在开发的过程中用到kafka做消息中间件,在测试高并发的时候,发现了一系列的问题。这两天也明白一点,做出产品跟做好产品是两回事!程序能跑起来跟程序能稳定运行更是两回事! 开发的过程中,只要测试数据能否通,业务逻辑能不能被执行,只需要测试小数据量。但是程序开发完成后,性能测试是另一个工作。 第...

2019-01-28 11:16:00

阅读数 85

评论数 0

监控任务的设计思路

这里就不画图了,文字表述即可。 假如现在有好几个业务子系统共同完成一个任务,当大量的任务来临时,怎么去保证每个任务都能跑完?这就需要我们对任务进行监控,我的思路是这样的:创建一个新的监控项目,定时遍历数据库的任务表,看看有没有新来的任务,有的话取出来,加入一个待执行队列,并计算超时时间,再开一个线...

2019-01-09 21:00:55

阅读数 96

评论数 0

超时/重发机制架构设计(单机版)

在上一篇博文中提到用超时线程监控程序,那是对一整条业务的,如果要细分到每个子业务呢。这几天不断修修改改,总结出一套模型,直接上图,一目了然: 这里假设一个业务有3个子业务,这是针对单台物理机的,如果是多台机器,还需要在修改一部分内容,待我测试好再分享分布式的模型 ...

2018-12-10 19:46:36

阅读数 117

评论数 0

java添加超时检测

需求,在不同的ssm模块间,如果一个模块给给一个模块发任务,任务又好多,期间有某个任务死循环、崩了,怎么办? 所以在这里要做一个超时机制,监听每个任务,原理很简单,用一个线程不断去判断任务是否超时。 controller拿到任务,将拿到的元素和拿到时刻的时间记录下,存储在hashMap中 ...

2018-11-22 11:07:26

阅读数 123

评论数 0

ubuntu16.04 快速搭建ELK日志分析平台

加入我们要在一台服务器上部署一个ssm应用,部署完,运行一段时间崩了。排查问题得时候,我们自然会想到查看log4J日志。可是,如果服务器不止一个应用,而是好几个呢,这当然可以查看每个应用的log4J日志。那如果不止一台服务器,而是好几台呢,难道还一个一个看?这显然是不现实的。现在又一套开源的分布式...

2018-11-17 13:23:00

阅读数 88

评论数 0

java 应用整合 redis 最快捷最有效的方法

先说明一下背景,最近忙着弄一个分布式架构的项目,每个子节点基于ssm,还有其它的缓存,异常,每个节点之间的应用又根据层级拆分,bean、service、provider、consumer,不是zookeeper+dubbo,特殊的业务需求我们自己写节点管理,但是借用了dubbo的思想。 原项目用的...

2018-10-30 10:35:23

阅读数 110

评论数 0

Java NIO 学习教程(一)

这个系列的NIO主要是翻译过来的,原文地址:http://tutorials.jenkov.com/java-nio/index.html Java NIO 教程 Java NIO:Channels and Buffers(管道和缓冲区) 在标准的IO API中,使用的是字节流和字符流。在NIO中...

2018-10-11 17:53:20

阅读数 99

评论数 0

接到添加权限管理的任务,该怎么办?

刚接到一个任务,给系统添加权限管理,一开始接收到这样的活,要怎么开始? 那当然是找资源了,系统是基于ssm开发的,去github搜搜:ssm+权限 选择几个星星多、jdk版本、开发环境跟本地较为贴近的,导入本地,调整一下环境和补充下载不到的jar,然后运行看看符不符合大致的需求(几乎没有完全符...

2018-09-11 20:05:01

阅读数 176

评论数 0

java非阻塞获取接口数据

数据分析系统中,首页的表格需要大量的数据,这些数据可能是从另一个子系统中获取,就要接收接口的数据,获取接口的数据做成非阻塞的,可以打打提高响应速度,模型如下: ExecutorService threadPool = Executors.newCachedThreadPool(); //获取数...

2018-08-31 12:16:43

阅读数 116

评论数 0

分享一个文件处理通用类

1.下载网络图片 2.创建文件 3.删除文件 import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream;...

2018-08-31 11:53:58

阅读数 95

评论数 0

mui app网页开发常见bug

最近用mui做app网页的开发,踩了一些小坑,在这总结一下: 1.单一网页 加入有一个网页需要在app上显示,这时候我们不需要全部的mui,在mui中找到需要的例子,复制其js、css引入即可。 2.底部+顶部选项卡时,点击顶部选项卡,被点的选项卡没有被选中 具体的场景是这样的:底部3个t...

2018-08-15 19:43:54

阅读数 240

评论数 0

win7 64位安装mysql5.7.22

5.7.22是免安装版 一、先从官网下 选择5.7的: 先选择64位,再下载: 二、下载后解压到目录中,我是:F:\mysql-5.7.22-winx64 然后新建my.ini文件 [mysqld] port = 3306 basedir=F:\mysql-5.7.22...

2018-07-24 18:15:06

阅读数 68

评论数 0

java.lang.UnsatisfiedLinkError: dll: Can't find dependent libraries

调试耗时两天,几近绝望的bug,好在现在解决了,这是错误: java.lang.UnsatisfiedLinkError:...\jdk1.7.0_80\bin\xxx.dll: Can't find dependent libraries at java.lang.ClassLoade...

2018-07-17 17:05:46

阅读数 886

评论数 2

Missing artifact javax.jms:jms:jar:1.1:compile

也是刚刚导进项目,pom.xml报:Missing artifact javax.jms:jms:jar:1.1:compile 仓库没有jms.jar包,自行下载:http://repository.jboss.org/maven2/javax/jms/jms/1.1/ 然后添加进本地mav...

2018-07-09 20:32:57

阅读数 103

评论数 0

Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resour

刚配好环境,导进新项目时遇到pom.xml报: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resour 添加以下内容即可: conf/settting.xml文件 &amp...

2018-07-09 20:28:46

阅读数 9624

评论数 0

简单的 Spring Aop 原理剖析

spring aop aop 的全称是Aspect-Oriented Programming(面向切面编程),怎么理解面向切面这句话?可以这么理解:每一个类的一个方法是一个点,同时处理多个点也就 可以理解为处理一个面,这个面包含多个点。概念部分也就更明显了,需要被处理的点叫做Pointcut(...

2018-04-27 16:16:45

阅读数 382

评论数 0

Spring Ioc 是怎么加载bean的

我的代码中有这么一句: ApplicationContext ctx=new ClassPathXmlApplicationContext("spring-mybatis.xml"); 今天,我想弄懂spring是怎么加载.xml文件,然后找到bean...

2018-04-16 20:17:10

阅读数 578

评论数 0

温习线可重入锁、阻塞队列、线程池的原理

直接看代码注释,很好理解的! Lock package com.wen.java.concurrent.mylock; /* * 可重入锁原理 */ public class Lock { //被锁标识 boolean isLocked = false; ...

2018-04-03 20:34:58

阅读数 181

评论数 0

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