Mobility

聚沙成塔


  • 首页

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 搜索

jstorm源码解析之循环任务AsyncLoopThread

发表于 2018-02-08 | 分类于 jstorm源码解析 | | 阅读次数:

概述

AsyncLoopThread是jstorm里自定义的一个循环执行任务的工具,实现不复杂,本来是不值当的专门开一篇文章介绍。不过这个在jstorm里应用实在太广泛了,诸如uspervisor/nimbus心跳,获取新topology,更新worker状态等大量功能都是利用AsyncLoopThread实现的,所以还是介绍一下吧,也方便后续看其他部分代码。

阅读全文 »

activemq特性之持久化

发表于 2018-02-02 | 分类于 activemq系列文章 | | 阅读次数:

介绍

数据的持久化是很多系统都会涉及到的一个问题,尤其是redis,activemq这些数据主要是存储在内存中的。既然存在内存中,就会面临宕机时数据丢失的风险。这一问题的解决方案就是通过某种方式将数据落到磁盘上,也就是所谓的持久化。

activemq提供了三种持久化方式,分别基于jdbc, kahadb和leveldb. 目前官方最推荐的是基于kahadb的持久化。

阅读全文 »

activemq的安装及基本使用

发表于 2018-01-30 | 分类于 activemq系列文章 | | 阅读次数:
安装从官网下载最新版本,解压,其他的前期准备只需要安装jdk。 从activemq 5.14开始,只支持jdk8。 配置核心配置文件是conf目录下的activemq.xml, 默认的配置无需修改即可使用,其他配置我们会在后续文章介绍activemq各种特性时详细介绍。 启动bin目录下运行activemq start 即可 ,启动之后浏览器打开localhost:8161 可以打开web管理页面 ...
阅读全文 »

activemq系列-概述

发表于 2018-01-22 | 分类于 activemq系列文章 | | 阅读次数:
Activemq是一种消息中间件(MOM),基于JMS协议实现。介绍activemq就不得不介绍消息中间件和jms. 消息中间件是分布式系统十分常见的组件,提供了以比较灵活的方式集成不同应用程序的一种机制,应用程序彼此不直接通信,而是与作为中介的消息中间件进行通信。 消息中间件主要有两个作用,一是解耦,二是平峰,都是大型系统中经常会遇到的问题。 所谓解耦,就是要保持系统内各个应用的相对独立性。例如 ...
阅读全文 »

hexo博客系统简介

发表于 2018-01-19 | | 阅读次数:
原文地址: https://lcy362.github.io/posts/19890/ Hexo是一款开源的博客系统。对于一个后端程序员来说,不想折腾前端的东西,但是csdn,博客园之类的用起来还是不太方便,自己搭博客又麻烦,做出来还丑。偶然间看到了hexo,这个对后端程序员来说可以说是非常又好了。所以也写篇文章记录一下安装还有一些配置的过程。 安装及初始化参考官方文档 就可以了。hexo是基于n ...
阅读全文 »

jstorm的监控metrics数据输出到第三方存储介质

发表于 2017-09-06 | | 阅读次数:
Jstorm的UI中提供了大量非常详细的监控参数,对于我们排查问题帮助非常大,关于UI,可以参考我之前的另一篇文章: https://lcy362.github.io/posts/31996/ 。 不过,UI这种方式用起来有时可能会不太方便,比如需要查历史数据的时候。所以我们希望将监控数据输出到别的存储介质中,方便后续查询、分析。 由于jstorm的监控相比于apache-storm进行了完全的重 ...
阅读全文 »

camel系列之camel debugger的使用

发表于 2017-08-03 | | 阅读次数:
apache-camel 作为数据路由的利器,使用起来非常方便。不过与此同时,也有一个问题,就是由于封装的过于完善,隐藏了很多技术细节,所以一旦有问题,排查会比较困难。好在官方提供了一个debug工具,可以帮助我们正常的打断点、调试,http://camel.apache.org/debugger.html, 在本文中会对官方文档做一些补充。 首先需要引入camel-test包:12345< ...
阅读全文 »

jstorm源码解析之bolt异常处理

发表于 2017-08-03 | 分类于 jstorm源码解析 | | 阅读次数:

问题

用过storm或者jstorm的都知道,如果在bolt代码中发生了没被catch住的异常,所在worker进程会退出。本文就从源码角度分析一下具体设计,其实并不是“有异常然后进程崩了”这么简单。

阅读全文 »

log4j动态添加appender

发表于 2017-06-30 | | 阅读次数:
除了通过properties,xml等格式的配置文件对log4j进行配置外,log4j还提供了各种接口,可以用代码动态修改log4j的配置,例如给一个logger增加一个appender。方法很简单,就是新建一个appder,然后添加到logger上,示例代码如下:123456789KafkaLog4jAppender kafkaAppender = new KafkaLog4jAppender( ...
阅读全文 »

【翻译】java里编写基准测试的一些经验

发表于 2017-06-05 | | 阅读次数:
有时候我们需要写一些简单的性能测试代码,恰好在stackoverflow上看到一篇经验之谈,https://stackoverflow.com/questions/504103/how-do-i-write-a-correct-micro-benchmark-in-java, 怎样写基准测试来尽量屏蔽掉环境的影响。 翻译出来贴在这儿: 来自Java HotSpot作者的撰写微基准的提示: 规则0: ...
阅读全文 »
1234…6

流沙

60 日志
5 分类
51 标签
RSS
GitHub StackOverflow 知乎
© 2021 流沙
由 Hexo 强力驱动
|
主题 — NexT.Gemini v6.0.1