`
文章列表
最近使用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- ...
Global site tag (gtag.js) - Google Analytics