- 浏览: 211788 次
- 性别:
- 来自: 杭州
最新评论
-
hus20120405:
很不错,我运行起来了
log4jdbc日志框架介绍 -
Roshomon:
牛叉 找了很多解决方案 你的OK了
plsql ora-12154 TNS 无法处理服务名 -
ackley:
赞!谢谢!
Cannot access NLS data files or invalid ...
文章列表
最近使用disconfig上生产的时候,因为生产环境机房和开发环境机房不在一起,需要修改disconfig.properties的服务器地址。这样每次发布要修改这个文件也是挺麻烦的,于是干脆搭建域名服务器,不同环境使用各自的域名映射。
一开 ...
前端时间为公司的nginx进行调优,顺便记录一下内容。
一、安装
1. 下载
pcre
zlib
nginx
2. 安装
tar -xvf xxx.tar
cd xxx
./configure
make && make install
按 pcre->zlib-nginx 顺序安装即可。
3. 添加软连接
ln -s /usr/local/lib/libpcre.so.1 /lib64
4. 相关命令
启动 /usr/local/nginx/sbin/nginx
重启 /usr/local/nginx/sbin/ ...
这次项目中又用到https,在这里记录一些实践命令,以便后续快速查找。
https的原理很简单,可以看原先转载的一篇文章《https原理浅析》。
简单归纳:
1. 使用https通道加密需要证书密钥对,存在密钥库文件中,可以使用java生成,也可以向第三方证书机构购买。
2. 获取到密钥库keystore文件,并在tomcat等web服务器开启https,密钥库指向keystore文件。
3. 这时已经可以通过https访问了,但是如果是自己使用java生成的证书,浏览器验证提示不安全。服务端可以使用keytool从密钥库导出证书(公钥),浏览器导入证书,就能信任安全了。
4. 如果是java访 ...
最近在做日志系统的选型,最终选择ELK来做应用日志监控。
ELK 是 elastic公司的三个产品集合, 分别指 ES, Logstash, Kibana。目前ELK版本为5.0.0, 需要jdk1.8支持。
logstash采集采用input,中间用filter处理,然后output。
input可以控制台输入,也可以日志文件导入,也可以端口监听输入。
output可以输出到控制台,redis,kafaka,ES等。
以下是Logstash的学习笔记:
1.下载logstash
2.下载jdk1.8
3.安装
rpm –ivh jdk-8u111-linux-x64.rpm
...
发现了很有用的功能。
1. 测试和开发不能共用 disconf.properties ,因为对应的env不同。
解决方案: 在启动脚本中增加 -Ddisconf.env=local 即可,可以根据不同的环境更改env.
因为有些系统的配置文件会随着业务更改,如某些控制开关,当大批量集群时,按照上一篇文章的配置就不够啦,需要做到热加载。
研究了一下,还好,比较简单,只要替换上一篇文章第4步的配置文件(spring-disconf.xml)即可。
...
公司目前的应用基本采用分布式部署,通过F5进行集群管理。分布式应用带来的好处是,随着流量的增加,可以快速扩展应用节点,分摊压力。分布式也会带来一定的挑战,譬如配置文件管理。如果某个配置要修改,那么所有的节点都要进行修改,当面临大规模集群时,很容易改错或改漏。因此,需要一个统一的配置管理中心对配置进行管理,集中修改一个配置文件,所有机器能够自动同步。disconf就是百度开源的配置管理中心。
以下是参照开源文档与公司的项目进行集成实践。
1. 下载管理端,并安装。
https://github.com/knightliao/disconf/tree/master/discon ...
最近在看dubbo的文档,有些内容结合自己的思考记录一下
1. dubbo的本地存根能够提升性能
将与服务器环境无关的代码移到stub中,利用ThreadLocal本地缓存,将校验,容错(容错用mock更好,原理相似)等功能放在客户端做,应该能提升性能。这段代码是服务端写好的缓存过去的,所以维护也方便。
2. 利用future实现异步调用提升性能
等待的时间为最长的那个远程调用事件,并且在一个线程中完成,避免了多线程切换的开销和复杂性。
3. 利用injvm提升本地jvm调用性能
4. callback没看懂,我的理解应该是客户端注册了callback,服务端查找到callback调用。并且服务 ...
最近帮同事解决了tomcat加载两次的问题。解决方法是将 自定义的webapp目录改为默认的wtpwebapp即可。
zookeeper在分布式数据库和服务治理平台两个项目中都有用到,现在补一下学习笔记。
1. zookeeper的使用场景:
1)集中配置管理
(1)管理员创建一个node节点(可以理解为文件目录),并将配置信息放到这个目录中。
(2)应用启动后,与zookeeper建立长连接,并利用zookeeperwatch这个node
(3)管理员修改这个node下配置信息
(4)zookeeper watch到node发生变化后,推送给应用
2)集群成员管理
(1)集群节点启动时,在zookeeper中指定目录下创建一个节点信息
...
学习了 dubbo rest服务之后,再使用dubbo http协议,就非常简单了,只要将服务的暴露协议改为http即可,不需要根据jax-rs规范,引入@Path等一堆annotation。
1. dubbo 配置文件
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/sche ...
在配置过程中遇到两个问题:
1. 报错: object is not an instance of declaring class
这是因为接口类没有暴露方法,导致服务没有实例化
2. 报错:java.lang.RuntimeException: You must use at least one, but no more than one http method annotation on
这就 ...
采用dubbo客户端访问dubbo发布的rest服务,接上一篇。
1)启动类
package cn.gov.zjport.dubborest.test;
public class DemoConsumer {
public static void main(String[] args) {
com.alibaba.dubbo.container.Main.main(args);
}
}
2)beans-consumer.xml
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
dubbo是很好的服务治理工具,包含了注册,路由,监控,管理控制台等几个部分,对分析企业的服务依赖和管理有很大的帮助。具体可参看官方文档。
目前我们公司有很多系统交叉提供服务,服务之间缺少必要的监控,对后续系统的重构都带来很大的困难。同时,由于webservice太重,复杂度高,相对来说采用http+json的交换性能较快,复杂性低。因此我们准备在公司内部主推dubbo+rest的服务。采用dubbo发布的rest服务,既能采用传统的http访问方式,又能采用dubbo客户端访问,可以对原有的服务进行透明的升级。以下是dubbo+rest的开发过程:
1)maven配置:pom ...
此文接 部署笔记3 ,介绍mfs高可用中的keepalived的部署.
keepAlived 安装
1. 下载 http://www.keepalived.org/software/keepalived-1.2.23.tar.gz
2. tar -xzvf keepalived-1.2.23.tar.gz
3. 下载并安装一下包,根据自己的操作系统版本定。
可用命令查看相关组件的版本(rpm –qa| grep xxxx)。
rpm -ivh libcom_err-devel-1.41.12-11.el6.x86_64.rpm
rpm -ivh e2fsprogs-devel-1.41.12- ...