- 浏览: 91257 次
- 性别:
- 来自: 北京
最新评论
-
pcpig:
如果不能写的话,尝试修改一下配置文件cat /etc/sel ...
samba使用总结 -
pcpig:
简单启动脚本#!/bin/sh
PROJECT="p ...
Tomcat启动参数修改 -
pcpig:
基于ant的项目发布base_dir=`dirname $0` ...
项目发布脚本 -
pcpig:
同事提醒:网络通讯用gzip由于没有文件结构,压缩效果更好 p ...
消息压缩和解压缩 -
pcpig:
上面第一种方法有问题,第二种方法才是正确的。第一种方法,上线后 ...
spring+ibatis批处理解决
文章列表
兼容性问题
理论上小版本升级只是修改bug,不存在兼容性问题,但是涉及到线上应用难免有些担心。测试后证明是兼容的,已经将线上服务器从3.4.x统一升级到3.4.14。
本文所说的缩容是指减少选举节点数量,将选举节点改成观察者节点。
原则:
1、每次缩容的节点数必须是选举节点总数的一小半;
2、缩容操作时,修改顺序:
a 重启观察者节点。因为不影响选举,可以尽早改成最终配置,减少重启次数,但是不论何时修改,都一定要包含leader节点,否则没法同步数据。
b 重启普通选举节点(非缩容的目标节点、 ...
采用版本: 3.4.14
2 April, 2019: release 3.4.14 available
集群规模: 5+N,5个选举节点,N个观察者节点
硬件要求: 16核CPU + 32G内存+ 2块物理硬盘,1个SSD,另一个不做要求
用虚机的话,避免分在同一个宿主机上,避免一挂全挂
存在的困难:
很多应用采用的是ip连接方式,ip变更的话需要显式切换(写在代码里面的需要重新编译;写在配置里面需要重新发版),
要让这么多应用都切换的话,需要一个较长的周期,所以在升级迁移服务的过程中一定有一个新老并存时期。
针对以上问题:
每个Id申请一个内部域名,对外公布域名,以后如有类似的操 ...
扩展CAT API,心跳接口如需增加数据,修改StatusInfoCollector类即可。举例如想增加cpu内核数,修改visitOs方法,增加以下代码即可
systemExtension.findOrCreateExtensionDetail("CPUCoreNumber").setValue(bean.getAvailableProcessors());
dubbo monitor的功能总结,主要为4块。
1:monitor相关信息: 状态(Status) 信息(System) 日志(LOG)
2:没太大价值的功能:Registries(注册中心zk信息)
Servers (可以查看连接了monitor的dubbo服务)
3: 多维度(IP , Application ,Service)的Service统计信息
4 Service的服务质量监控信息以及应用之间的拓扑关系。
结论:1 2 可以直接不管。
3 此类信息在dubbo admin中有提供,只 ...
互联网服务是否运行正常,从监控的角度需要考虑以下几个方面。
1 业务监控。业务数据是否正常。比如流量是否正常 商品价格是否异常 销售量是否异常....这类数据跟业务统计关联很紧密,侧重于从业务数据的角度进行监控。建议在数据统计的基础上增加监控报警功能。 业务监控数据面向的人群主要是各业务负责人 运营人员 以及业务开发人员
2 应用监控。侧重服务的角度进行监控,响应是否及时 是否有异常 QPS..... 对于应用的监控,美团开源的CAT是个不错的。
监控只是暴露问题,大致定位问题,要对问题进行跟踪,还需要分布式链路跟踪系统。很多人以为CAT是,实际上CAT的跟踪系统 ...
前几天研发时遇到eclipse运行不稳定的情况,明明实现了的功能有的时候能运行到,有时运行不到,非常让人头疼。于是想在本地搭一套运行环境,方便比较。
说明:以下情况主要针对java运行
首先考虑Application。maven编译Spring Boot默认打的包是fatjar,所以比较好处理。此处重点考虑传统Application。也可以考虑打成fatjar。用Eclipse->Export 安装fatjar插件\引入maven-shade-plugin插件或assembly插件,均不如意。要么方法费劲还容易错,要么影响到正常使用方式。考虑再三,决定用shell脚本组装常规使用方式实 ...
目的:1、打一个普通java包,用于spring aop
2、用aspectj打一个包,用于字节码加强的实现方式
实现:
<profiles>
<profile>
<id>aspectj</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-ma ...
1、利用Spring AOP
2、所依赖的包是普通java编译,非aspectJ编译
<!-- 编译加强 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<goals>
...
2155 find ./ -name "*.jsp" | xargs -i perl -p -i.bak -e 's/\r\n/\n/g' {}
find ./ -name "*.bak" -type f -print -exec rm {} \;
如果不想备份
perl -pie 's/\r\n/\n/g' file
记录一下这几天帮助兄弟项目组解决的几个问题
工程:网关服务器,业务逻辑少,操作不费时
问题:大量的Close_wait,访问速度较慢
分析&解决:
1、close_wait是TCP/IP协议中被动关闭方收到Fin后没有发送Fin导致
项目采用了mina框架,服务器被动关闭时会生成一个异常,调用exceptionCaught()方法,
在该方法中,服务器调用关闭方法session.close(false);false的意思是先发送数据,等数据 发送完了再关闭。通常情况下这是一个正常的流程,但是在高并发访问的情况下,可能生成大量Close_wait。如果情况允许的话,把fal ...
提供给产品人员使用,方便其生成html代码
http://kindeditor.net/demo.php
研究jvm hotswap的过程中,有一步需要读取java class的字节流,本来想只提供一个class就好了,但是在Web项目下不通用,先记录下来,留待以后使用。
private static byte[] loadBytes(Class<?> cls) throws IOException {
if (cls == null)
return null;
String name = cls.getCanonicalName().replaceAll("\\.", "/") + ".class& ...
同事反映linux操作系统无端的大量内存被“cached”状态占用,导致JVM无法申请,CPU load持续上升的情况。
free -m
total used free shared buffers cached
Mem: 7859 7733 126 0 130 1386
-/+ buffers/cache: 6216 1643
Swap: 16383 812 ...
如果spring中bean的配置信息是放在xml中,如果修改了bean的配置信息,如果在不重启服务器的前提下生效?
我的办法是用ApplicationContext重新读取指定的配置文件,然后更新一下所有bean。
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("xml/achievement.xml");
在测试中遇到一个奇怪的问题:此方法在window 7上无效(读取的还是最初的数值,修改后的数值不会被读取),但是在Linux下就没有问题。
换成FileSys ...
1、安装
#rpm -qa | grep samba
#yum install samba
2、配置
cat /etc/samba/smb.conf
[global]
workgroup = workgroup
server string = samba server
security = user
map to guest = bad user
[resources]
comment = public stuff
path = /opt/share/resources
public = yes
only guest = yes
writa ...