- 浏览: 347685 次
- 性别:
- 来自: 成都
最新评论
-
wodediqizhang:
PHP中的 $key="ABCDEFGHIJ0123 ...
java和php对等的3DES加密算法 -
xuxiaoyinliu:
chen_bing8 写道你好,为什么我用你的demo运行后报 ...
用jXLS和poi导出Excel -
zi_wu_xian:
java用poi和jxl对excel的读取还好,如果修改文件的 ...
用jXLS和poi导出Excel -
仰望摩天轮:
大神 用webloginc或者websphere容器的时候 j ...
用BTrace排查性能问题 -
sqq920556218:
很有用,也没有报错,正在研究应用于项目
用jXLS和poi导出Excel
文章列表
Sentinel简介Redis HA 需要用到Redis的Sentinel模块,该模块的稳定版自2.8之后集成在Redis的发行版中,因此不需要单独安装。Sentinel的特点监控:持续检查Redis集群中Master Slave节点的健康状态;通知:当节点有错误时通知使用者,管理员;自动故障转移:当Master节点故障时,自动从Slave节点选择一个作为Master,其他Slave配置为新的Slave,通知客户端新的Master节点;配置支持:client都从这里获取认证和连接的地址;Sentinel本身也是集群,在每个Master Slave节点都启动一个Sentinel。配置指南配置Mas ...
BTrace是一个可以动态跟踪Java代码执行的工具,网上已经有很多文章介绍,我这里分享一个我在实际工作中排查性能问题的例子。
现象
我的一个REST接口调用非常慢,postman耗时3873 ms,这个接口就是从redis里把一批数据取出来,redis性能很好,理论上不会这么慢,于是用btrace,trace方法调用。
/* BTrace Script Template */
import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;
@BTrace
public ...
Javaassist是一个高层的Java字节码处理类库,能运行时动态生成类,修改类。Javaassit能动态生成类的基础源于Java Class的字节码技术:只要遵从规范,Java Class可以来自任何地方。
类似的技术还有:bcel,asm等,他们相对于Javaassit,偏向底层,效率较高,但编码难度更高(需要了解JVM指令)。
Javaassist是Jboss的一个子项目,其特点是简单:不需要了解底层JVM指令,直接用Java代码编写,容易理解,并且现在生成代码效率和以上两种技术相差已经很小。
Javaassist是一个日本人
Shigeru Chiba
开发的。
例子
...
一、DEA整体架构
图1 DEA和其他组件
图2 DEA和warden
二、DEA和外部组件
1、DEA和NATS在CF内部,各个组件相互配合来完成某项功能,都是通过nats的消息机制来完成的;
2、DEA和cloud controller1)dea启动时,生成唯一的uuid来标识 ...
weblogic buildpack是支持oracle weblogic应用服务器的容器,是从java-buildpack fork出来,并把默认容器从tomcat改成了weblogic。
功能特性
由于weblogic是部署在CF上,部分weblogic本身特性将不支持
默认创建一个以应用名称开头的域(domain),也可以在应用包配置中指定;
通过域名配置可以支持数据源(datasource)和JMS,可以使用non-XA JDBC datasource,并存储Transaction Logs;
可以配置不支持EJB,JMS,以限制内存,当然也可以全部支持;
支持标准的域配置 ...
设置全局环境变量
/etc/profile
仅为登录用户shell初始化,Bourne shell兼容的都可以用
/etc/bash.bashrc
仅为交互shell初始化,bash支持
/etc/environment
全局环境变量,不论是否登录,是否交互,都可以用,但是内容只能是:key=value格式,不能export,不能用变量,但要注意启动顺序,可能你的程序比这个先执行,依然不能取得这里设置的变量
用Spring开发Web项目的时候,有些情况下,需要在不解开war包的情况下修改配置在不同环境读取不同的配置文件,例如:开发环境:web-dev-config.properties,测试环境:web-test-config.properties,生产环境:web-production-config.properties,这时候就需要动态的载入配置文件。
从JVM参数获取配置文件路径
JVM参数:-Dweb.config.path=/etc/myproj/web.config.properties
Spring PropertyPlaceholderConfigurer配置如下:
...
Sensu Server是Sensu的核心组件,是Sensu业务逻辑实现的核心组件。
Server的启动
Sensu Server的入口在sensu/bin/sensu-serveroptions = Sensu::CLI.readSensu::Server::Process.run(options)和这里Client几乎一样,解析命令行参数,调用Process.runrun方法也是,创建一个Server的服务实例,启动服务:server.start,然后处理信号再看start方法
def start
setup_redis
setup_transport
bootst ...
概述
Sensu Client是运行在其监控的App Server上的,主要工作有:1. 订阅rabbitMQ消息,接收来自Server端的check任务,执行任务,并返回结果给Server端(通过rabbitMQ);2. 周期性执行客户端standalone的check,并返回结果给Server端(通过rabbitMQ);3. 监听TCP端口和UDP端口,接收来自外部的监控数据,返回给Server端(通过rabbitMQ);Sensu Client实现很简单,只有两个ruby文件:process.rb和socket.rb。其中大部分逻辑都在process.rb中实现,socket.rb主 ...
Sensu的核心组件有:Server,Client,API,都是ruby的工程。代码结构sensu/ ├╴bin/ # 启动脚本 │ ├╴sensu-api │ ├╴sensu-client │ └╴sensu-server │ ├╴CHANGELOG.md ├╴CONTRIBUTING.md ├╴Gemfile ├╴lib/ │ ├╴sensu/ │ │ ├╴api/ # API接口层 │ │ │ └╴process.rb # 主要业务处理 │ │ │ │ │ ├╴cli.rb # 接收命令行启动参数 │ │ ├╴client/ # 客户端 │ │ │ ...
Sensu安装
Sensu Server端包含以下几个必须的模块RabbitMQRedisSensu ServerSensu API他们可以安装在不同的服务器组成集群,也可以装成单机版。另外还有一个可选模块,管理UIUchiwa监控数据显示UIgrafanaSensu的安装过程官方文档已经比较齐 ...
Sensu是一个开源的监控系统Sensu运行一系列的check脚本检查应用和服务的可用性,当某个条件满足时触发handlers,check脚本也可以附带数据实现计量数据收集。功能特性架构灵活,简单,方便扩展,整合通知类型丰富计量数据收集和转存支持多种数据库,序列化数据库,SQL数据库等可接受来自外部的TCP/UDP输入check脚本比较灵活,可以用任何语言编写,只需要向客户端监听的端口写数据即可,且支持nagios的插件系统架构
Sensu Diagram另外一个完整的生产环境可能还包括Uchiwa:Sensu的一个开源Dashbard;Graphite:计量统计图形工具;Influxd ...
Flume是Apache的开源项目,是hadoop的周边组件之一。Flume-ng则是Flume改进后的新版本。
严格的讲Flume-ng是一个日志搜集、处理、存储的系统。
架构
source是搜集日志的前端,接受不同的日志数据格式;
channel 是日志的暂存地,接 ...
下载flume-ng
$ wget http://mirrors.hust.edu.cn/apache/flume/1.5.2/apache-flume-1.5.2-bin.tar.gz
解压,创建文件输出目录
创建flume的配置
$ vi conf/flume-conf.properties
bosh部署3要素
1. manifest
2. release包
3. stemcell
如何获得?
创建manifest
用spiff生成manifest
spiff下载地址:
https://github.com/cloudfoundry-incubator/spiff/releases
在cf-release根目录
修改spec/fixtures/openstack/cf-stub.yml中的配置
运行./generate_deployment_manifest openstack cf-stub.yml > cf.yml