自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zollty的专栏

分享知识,分享经验,个人博客:http://blog.zollty.com

  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 我的JBoss使用笔记

一、JBOSS安装1)直接解压到无空格的目录路径下即可。例如:D:\C\Java\jboss-5.0.1.GA\JBOSS的文件夹说明:\bin 不解释\server 主目录,下面分成default、all、minimal等几个“用户”常用的是:\server\default\该目录下,发布

2016-12-31 22:22:33 2598

原创 高吞吐、高可用MQ对比分析

基本对比信息ActiveMQRabbitMQRocketMQKafkaZeroMQ吞吐量比RabbitMQ低2.6w/s(消息做持久化)11.6w/s17.3w/s29w/s开发语言JavaErlangJavaScala/Jav

2016-12-31 22:17:37 9467

原创 Kafka重复消费和丢失数据研究

Kafka重复消费原因、数据丢失底层根本原因:已经消费了数据,但是offset没提交。原因1:强行kill线程,导致消费后的数据,offset没有提交。原因2:设置offset为自动提交,关闭kafka时,如果在close之前,调用 consumer.unsubscribe() 则有可能部分offset没提交,下次重启会重复消费。例如:try {consumer.un

2016-12-31 22:15:59 29483 4

原创 kafka shutdown停止关闭很慢问题的解决方案

kafka shutdown停止很慢问题在数据量大的时候,consumer一次抓取数据的数据很多,进入到业务处理的数据可能有很多,假设一次poll有1万条数据进入业务程序,而且业务程序是和poll绑定在一起线程同步执行的,假设平均每条数据,执行业务程序花费100ms,那么poll一次的数据,至少要执行 1w*0.1s = 1000s = 16.67分钟。

2016-12-31 22:14:06 2945

原创 分布式高性能消息系统(Kafka MQ)的原理与实践

一、关于Kafka的一些概念和理解Kafka是一个分布式的数据流平台,它基于独特日志文件形式,提供了高性能消息系统功能。也可以用于大数据流管道。Kafka维护了按目录划分的消息订阅源,称之为 Topic。称发布消息到Topic的工程为生产者。称订阅Topic和处理发布的消息的订阅源的工程为消费者。Kafka以一个或者多个服务器组成的集群的形式运行,每个服务器被称

2016-12-31 22:12:03 1029

原创 Kafka MQ使用手册

一、关于Kafka的一些概念和理解Kafka是一个分布式的,分区的,可重复提交的日志服务。它基于一个独特的设计提供了消息系统的功能。Kafka维护了按目录划分的消息订阅源,称之为 Topic。称发布消息到topic的工程为生产者。称订阅topic和处理发布的消息的订阅源的工程为消费者。kafaka以一个或者多个服务器组成的集群的形式运行,每个服务器被称为brok

2016-12-31 22:10:16 2379

原创 ZooKeeper和Curator相关经验总结

一、关于ZooKeeper的watch用法,需要注意详细说明如下:ZooKeeper WatchesAll of the read operations in ZooKeeper - getData(), getChildren(), and exists() - have the option of setting a watch as a side effect. He

2016-12-31 22:08:34 1702

原创 分布式协调服务ZooKeeper的典型应用

Zookeeper典型应用参考官方文档:http://zookeeper.apache.org/doc/current/recipes.htmlOut of the Box Applications: Name Service, Configuration, Group MembershipBarriersDouble Barriers

2016-12-31 22:06:41 790

原创 ZooKeeper简介、设计原理、主要配置及集群

一、Zookeeper的一些概念和理解1、数据模型如上图所示,ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每个ZNode都可以通过其路径唯一标识,比如上图中第三层的第一个ZNode, 它的路径是/app1/c1。在每个ZNode上可存储少量数据(默认是1M, 可以通过配置修改, 通常不建议在ZNode上存储大量的数据),

2016-12-31 22:04:10 1227

原创 dubbo分布式服务化框架的使用经验

初学者可以看看如下文章:http://shiyanjun.cn/archives/1075.htmlDubbo获取不到IP的问题如dubbo官方文档所述:http://dubbo.io/Host+Binding-zh.htm缺省主机IP查找顺序:  通过LocalHost.getLocalHost()获取本机地址。   如果是12

2016-12-31 21:59:51 2203

原创 Apache配置——支持JBoss集群

一、为Apache Web服务器安装mod_cluster插件1安装文件JBoss官方提供了mod_cluster的下载地址:http://mod-cluster.jboss.org/downloads直接把插件文件解压,拷贝到/opt/app/apache2/modules/mod_cluster-1.1.3目录: 当然,也可以把这些so文件,直接拷贝到/

2016-12-31 21:58:20 2879 1

原创 消息推送系统的设计

一、消息推送系统设计需求1、高性价比,在有限的硬件资源下,尽可能的提高消息系统的性能和可用性。2、提高数据的一致性。二、分析消息推送,按数据量划分,包括两类:1)持续的大量数据(比如:持续的物联网GPS上报等)推送,单类数据量大于 10 kb 每秒 。2)低频率、数据量小的偶发事件、通知类的数据推送。消息重要性和实时性

2016-12-31 21:52:27 11461

原创 Java项目日志记录方案

一、概述1、采用slf4j作为日志API,采用logback作为日志输出工具,用slf4j桥接方式替换掉log4j和commons-logging。2、采用trace(追踪)、debug(调试)、info(信息)、warn(警告)、error(错误)、fatal(致命)共6种日志级别。3、采用dev(开发环境)、test(测试环境)、production(生产环

2016-12-31 21:49:44 15939

原创 应用日志记录规范

一、日志分类1、按等级分类1)TRACE级、DEBUG级:理论上“不属于错误”,只是打印一些状态、提示信息,以便开发过程中观察,开发完成、正式上线后,要把它们都屏蔽掉。2)INFO级: 理论上”不属于错误”,只是一些提示性的信息,但是即使在开发完成、正式上线的系统中,也有保留的价值。3)WARN级:属于轻微的“警告”,程序中出现了一些异常情况,但是影响不大,还可以正

2016-12-31 21:47:27 8357

原创 大数据量报表系统的改进方案

如果是行家,提起报表,你是否想起了JasperReports( iReport )、Birt、JFreeReport、水晶报表等?但是,在海量数据问题面前,这些工具都弱爆了。怎么说呢,这些报表工具,的确功能强大、支持可视化的“报表模板”制作,用它来制作公文文件、财务报表、统计汇总表等,非常实用。但是我讲的是一种大数据量的报表,可能不是一张word或者几千条的excel能够导出的,比如说订单报表、销

2016-12-31 21:45:13 11648

原创 多服务器数据同步问题

多服务器并发的操作同一个数据库的同一张表。有如下一张表:/* Table: APP_TASK */TASKNO VARCHAR2(22) not null,TASK_TYPE VARCHAR2(2) not null,EXECUTE_TIME DATE,PARMAS_XML VARCHAR2(2000),STATUS VARCHAR2(1)

2016-12-31 21:43:31 4315 1

原创 Java程序设计之——代码耦合性与包的结构

问题和分析:    如下,一种 常见的 包结构: |--x.y.service             -------存放service接口(interface) |--x.y.service.impl    -------存放service接口的实现类这种设计,从代码结构上来说,是下层(impl层)的代码 依赖于上层(service层)的代码,这样有个好处:代码耦

2016-12-31 21:23:10 2719

原创 Java多线程设计

在我开发的报表引擎中 ,线程的运用颇多,而且是项目的核心。从最开始的线程设计,到目前为止的设计,有了很大的改进。一、关于Thread和Runnable的选择    我们知道用Runnable相对于用Thread有两个优势:1. 避免继承的局限,采用Runnable接口的方式,不占用extends位置。2. 适合于资源的共享,多个Thread可以共用一个Runnable对象。

2016-12-30 16:45:13 1472

原创 Java理论知识和编程问题总结

1、class.getResource 和 class.getClassLoader().getResource的区别它们的区别在于路径上的区别:Class.getResource(String path)    path不以 '/' 开头时,默认是从此类所在的包下取资源;    path 以 '/' 开头时,则是从ClassPath根下获取;Class

2016-12-30 16:35:48 719

原创 多线程是否能加快处理速度

问:多线程是不是能加快处理速度?解析:在使用多线程时,一定要知道一个道理:处理速度的最终决定因素是CPU、内存等,在单CPU(无论多少核)上,分配CPU资源的单位是“进程”而不是“线程”。我们可以做一个简单的试验:假设我要拷贝100万条数据,单CPU电脑,用一个进程,在单线程的情况下,CPU占用率为5%,耗时1000秒。那么当在这个进程下,开辟10个线程同时去运行,

2016-12-30 16:33:13 24371 7

原创 Java设计模式

单例模式的使用场景:1、缓存资源,控制资源的并发读、写。(资源即类的属性)例如:有一把锁,需要两把钥匙才能打开。在更换钥匙期间,是不允许开锁的。而且,两把钥匙必须更换完才允许开锁,即,只更换完一把时,是不允许开锁的。假设一个线程修改完了一把钥匙,正准备修改第二把钥匙,而此时另外一个线程又试图开锁。有两种做法:1)此时不允许开锁,必须等第二把钥匙更改完成后

2016-12-30 16:31:33 397

原创 粘滞会话、会话保持

粘滞会话、会话保持(Sticky Sessions)当我们使用反向代理做负载均衡时,用户对同一内容的多次请求,可能被转发到了不同的后端服务器,若有3台服务器进行集群,用户发出一请求被分配至服务器A,保存了一些信息在session中,该用户再次发送请求被分配到服务器B,要用之前保存的信息,若服务器A和B之间没有session粘滞,那么服务器B就拿不到之前的信息,这样会导致一些问题

2016-12-30 16:09:53 5672

原创 常用的JS/jQuery技术和技巧

获取指定id的某个属性的值:例如获取id=myForm的表单的action属性的值document.getElementById("myForm").action也可以设置它的值:document.getElementById("myForm").action = "/cqrd/aa.action"获取指定name的某个属性的值,例如

2016-12-30 15:57:14 1340

转载 提高网页性能的23条规则

Yslow-23条规则YslowYahoo发布的一款基于FireFox的插件,主要是为了提高网页性能而设计的,下面是它提倡了23条规则,还是很不错的,分享一下:1.减少HTTP请求次数合并图片、CSS、JS,改进首次访问用户等待时间。2. 使用CDN就近缓存==>智能路由==>负载均衡==>WSA全站动态加速3. 避免空的src和href

2016-12-30 15:56:13 332

原创 JavaScript进阶学习笔记

一、基本语法很简单。(略)二、JavaScript HTML DOM1、documentJavaScript 提供了 document对象 来操作 HTML DOM,例如: document.write("Hello world!");var x=document.getElementById("main");var y=x.getEle

2016-12-30 15:53:12 641

原创 标准SQL与数据库技术

SQL是Structured Query Language简写Data Definition Language(DDL数据定义语言) (create、alter、drop)Data Manipulation Language(DML数据操作语言) (select、insert等)Data Control Language(DCL数据控制语言) (commit、rollback、sa

2016-12-30 15:50:24 448

原创 我的PostgreSQL技术笔记

0、安装PostgreSQL服务器若有不明之处,参见官方手册:https://www.postgresql.org/docs/9.4/static/runtime.html权限配置,参见:https://www.postgresql.org/docs/9.4/static/client-authentication.html1、安装ubuntu直接:

2016-12-30 15:48:07 2540

原创 我的MySQL技术笔记

启动MySQL服务:net start mysql注:我们以XXX代表数据库名(database),aaa代表数据表名(table), id和name为列名(column)DOS下连接数据库:mysql -u用户名 -hIP -p密码备份(前提是以断开数据库连接):mysqldump -u用户名 -p密码 数据库名 >F:\XXX.txt恢复

2016-12-30 15:45:59 517

原创 我的Linux系统使用笔记

1、Ubuntu系统下Eclipse Tomcat报错 Could not load the Tomcat server configuration at /Servers/Tomcat v6.0 Server at localhost-config. The configuration may be corrupt or incomplete.原因: /opt/tomcat/

2016-12-30 15:41:25 708

原创 Linux的cron定时任务使用说明

直接使用 crontab -e 命令,进入到编辑器然后输入 crontab指令crontab用法crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。 crontab –l : 显示 crontab 文件。 crontab -r : 删除 crontab 文件。crontab -ir : 删除 crontab 文

2016-12-30 15:36:59 795

原创 我的Linux常用命令

查看linux性能top命令查看进程/杀死进程ps -ef |grep tomcatps -ef |grep nodeagentsudo -u was7 kill xxxkill -9 [+pid]例如:kill -9 1100pid就是进程名字后面的那个数字,比如adap 1100 ………………nodeagent 1230……查看端

2016-12-30 15:29:11 415

原创 关于公司建设的一些思考

序: 一些经历,过了就可能忘了,不能形成经验。所以有时间把自己的一些亲身经历和思考总结出来,可供以后参考。(由于个人经历有限,以下总结,大多数只限于研发类的公司,特别是软件研发类的公司)(我的言语,属于特别直白的那种,但是想法都是正向、积极的,提出一些比较尖锐的问题,主要是对事情,不针对某个人,多理解问题本质,不要在意一些言语的细节) 一、制度和企业管理

2016-12-30 14:57:35 828

原创 我的GIT使用笔记

参考资料:Pro Git book:http://git-scm.com/book/zh/v1 一、常用命令 提交所有代码git add --allgit commit -m 'some messages'git push origin master 同步仓库到另一个分支(比如gh-pages分支):git checkout gh-pages // go...

2016-12-30 14:27:52 334

原创 我的Eclipse使用笔记

新安装的Eclipse,首先得做几个事情:1. 设置默认编码,用UTF-82. 根据个人喜好,设置默认字 体3. 设置默认的JDK4. 设置Maven5. 设置项目统一的Code Formatter(代码格式)6. 设置统一的Code Template(代码模板)7. 设置Tomcat1、修改字体无反应直接修改工作空间下的配置文件:

2016-12-30 14:26:03 764

原创 我的正则表达式笔记

-------------匹配【任意字符,任意长度】替换: name: new FormEntity('规则名称','ruleName','',''), detail: new FormEntity('规则描述','ruleDec','',''),成: name: '', detail: '',正则表达式为: new FormEn

2016-12-30 14:22:42 267

原创 持续集成平台Jenkins的搭建和使用

Jenkins配置丢弃旧的构建 -> 保持构建的最大个数 :10MAVEN;Root POM :pom.xmlGoals and options:clean install sonar:sonar -U -DskipTests=trueGIT:参数化构建过程:方法1:Dynamic Ch

2016-12-28 22:32:36 1290

原创 Sonar代码质量管理平台的安装和使用

1、下在zip文件,直接解压即可。然后修改配置文件Edit /conf/sonar.properties参见:http://docs.sonarqube.org/display/SONAR/Installing+the+Server#InstallingtheServer-installingWebServerInstallingtheWebServ

2016-12-28 22:25:42 886

原创 我的Oracle技术笔记

ORACLE添加数据库连接的方法在:{安装目录}\db_1\NETWORK\ADMIN下面打开tnsnames.ora文件添加类似于下面的字符串:123456789101112131415161718

2016-12-27 19:04:44 421

原创 接口的作用和使用原则

一、接口的作用:1、作为一个客观的规范,是一类事物所具有的属性的总结,相当于父类。根据接口,就知道一个实例所具有的方法,是一种声明。简而言之,接口的作用是“概括和声明”。如此可知,1)接口下面可能会有多种具体的实现。2)调用接口时,会非常方便。举例:我不知道某人叫什么 我只知道他属于人类 那么我一定知道他有吃饭的行为,我就可以扔给他一个骨头具体代码:

2016-12-27 18:35:53 1860

自制Gshop Editor V155版本,完美EL编辑器(目前唯一能用的155版本,自己写的,如需帮助,请联系作者)

自制Gshop Editor V155版本(目前唯一能用的155版本,和其他版本不一样的,不通用),如需帮助,请联系作者。Gshop Editor(完美EL编辑器)

2021-02-05

修改本机MAC地址

自制蹭网工具,功能如下: 1、局域网内获取别人MAC和IP的方法: 2、修改本机MAC地址的方法 3、改本机IP地址的方法

2018-10-19

空空如也

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

TA关注的人

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