摘要:
ssl的实现除了openssl外,还有gnussl,mozilla。 一般来说,配置HTTPS/SSL的步骤为: 1、生成足够强度的私钥。需要考虑:算法,广泛采用的一般是RSA。键长度,RSA默认为512,一般应选择2048。密码,虽然私钥不一定要加密存储,但是加密存储使得拿到私钥也没法直接使用。
阅读全文
posted @ 2017-01-15 19:52
zhjh256
阅读(2051)
推荐(0)
摘要:
在不少的情况下,我们需要对生产中的系统进行问题排查,但是又不能重启应用,java应用不同于数据库的存储过程,至少到目前为止,还不能原生的支持随时进行编译替换,从这种角度来说,数据库比java的动态性要好得多,而且其随时编译的性能也比其他解释性语言的性能要好的多。虽然如此,我们绝大部分应用都使用jav
阅读全文
posted @ 2017-01-14 21:57
zhjh256
阅读(5305)
推荐(0)
摘要:
最好用的mongodb GUI工具 mongobooster,没有之一,可从https://mongobooster.com/下载 支持json、tree、table三种展现形式。 对于非易变,但是仅仅是为了利用mongodb弱模式化特性的系统,table展现方式可以和RDBMS一样易读,pl/sq
阅读全文
posted @ 2017-01-14 14:32
zhjh256
阅读(996)
推荐(0)
摘要:
通常来说,我们应该使用应用的特性而不是自己的爱好或者规定而去选择一种合适的组件,选择的标准应该是这个组件最适合或者本身其设计就是为了解决这个问题,而不是这个组件能够做这事情为标准。就拿存储来说,任何时候,我们都有至少文本文件、SQL数据库、文档数据库或者k/v方式来实现。在我们的一个监控MQ积压的系
阅读全文
posted @ 2017-01-13 13:43
zhjh256
阅读(417)
推荐(0)
摘要:
今天某个环境发生了这个bug。 http://bugs.mysql.com/bug.php?id=72123
阅读全文
posted @ 2017-01-11 09:22
zhjh256
阅读(218)
推荐(0)
摘要:
[root@sdw ~]# mkdir /var/log/history[root@sdw ~]# chmod 777 /var/log/history 编辑/etc/profile文件,在文件末尾加入下面代码: [root@iZ23nn1p4mjZ root]# vi /etc/profile h
阅读全文
posted @ 2017-01-09 07:34
zhjh256
阅读(388)
推荐(0)
摘要:
关于使用HTTPS/SSL的必要性,可以自行baidu,援引的说法,EFF(Electronic Frontier Foundation),全球过半流量采用https。 https://www.oschina.net/news/82222/https-web 关于SSL的握手过程,简单的来说,如下,
阅读全文
posted @ 2017-01-08 20:06
zhjh256
阅读(13362)
推荐(0)
摘要:
以前基本上笔者对于安全性考虑的并不多,最近因为saas平台要开始逐渐推广,所以需要开始逐渐加强xss/crsf/https等措施以避免潜在的安全性风险。本文简单的记录下tomcat下https的配置。 注意:在实际的系统中,很少会直接在tomcat上配置https对外提供服务,一般是通过在nginx
阅读全文
posted @ 2017-01-08 19:36
zhjh256
阅读(1814)
推荐(0)
摘要:
最近,我们有个大调整,为了控制代码的质量,需要使用一些伪代码让业务人员编写应用逻辑(其实这么做完全是处于研发效能的考虑,95%以上的代码不需要特别注意都不会导致系统性风险,),然后通过工具自动生成实际的java和SQL代码,其中有个关键点就是处理其中的变量和参数,我们使用了特定的模式进行处理,典型的
阅读全文
posted @ 2017-01-06 16:53
zhjh256
阅读(1024)
推荐(0)
摘要:
最近有些软件要求glibc 2.14+,centos 6.x自带的版本是2.12的,7.6默认是2.17,特查了下glibc 各版本发布时间以及与对应的内核,如下: Complete glibc release history: Date Release Announcement 2017-08-0
阅读全文
posted @ 2017-01-05 21:03
zhjh256
阅读(7013)
推荐(1)
摘要:
一般来说,为了保险起见,在主从库维护中,有时候需要跳过某个无法执行的命令,需要在slave处于stop状态下,执行 set global sql_slave_skip_counter=1以跳过命令。但在测试和开发环境下,有时候为了快速解决不影响开发,需要使用set global sql_slave_
阅读全文
posted @ 2017-01-05 07:38
zhjh256
阅读(688)
推荐(0)
摘要:
最近,我们在券商端的mysql运行一段时间后,发生mysql can't create threads in threadpool,如下所示: 据官网一个报告显示,目测是一个bug,内存紧张导致,那天也没及时看,明后天再观察看看,现在是没有问题了。
阅读全文
posted @ 2017-01-04 18:57
zhjh256
阅读(370)
推荐(0)
摘要:
其含义为 The default value is full. In MySQL 5.5 and earlier, full row images are always used for both before images and after images. If you need to repl
阅读全文
posted @ 2017-01-04 18:36
zhjh256
阅读(576)
推荐(0)
摘要:
最近有两三套环境升级到了5.7.16,发现mysql.err中的时间好像有些问题,经查是mysql 5.7后的变更,如下: root@localhost [(none)]>select now();+ +| now() |+ +| 2017-01-01 14:52:05 |+ +1 row in s
阅读全文
posted @ 2017-01-04 18:30
zhjh256
阅读(712)
推荐(0)
摘要:
今天有个应用一直起不来,感觉配置都对啊,奇了怪了。看日志发现如下: STATUS | wrapper | 2017/01/04 08:09:31 | Launching a JVM...INFO | jvm 7 | 2017/01/04 08:09:32 | Error: Exception thr
阅读全文
posted @ 2017-01-04 11:01
zhjh256
阅读(686)
推荐(0)
摘要:
今天,有个给客户试用的环境出现xinetd cpu 100%,而且连续运行很长时间了。之前也有环境发生过,今天排查解决了三四个问题,实在是查的身体都不舒服了,还没时间查这个问题。。。 知道的求解。。。
阅读全文
posted @ 2017-01-03 18:12
zhjh256
阅读(307)
推荐(0)
摘要:
今天有个环境ajax调用一个请求的时候,出现一个504 gateway time-out响应,原以为是nginx找不到资源的问题,恰当我们的服务器上又配置了nginx,看了配置文件,没有指向tomcat的配置。 后来仔细查下来,发现是tomcat调用中间件,但后台请求一直在执行,没有返回的原因,也没
阅读全文
posted @ 2017-01-03 18:11
zhjh256
阅读(3715)
推荐(0)
摘要:
首先,还是要说,任何一种新特性的引入,通常有着其特有的场景和解决的目标需求,localstorage也一样。在我们的应用场景中,主要在金融业务服务的saas系统。其中涉及很多更改频率很多的元数据的客户端缓存问题,这是我们使用它的一个关键因素,document之间的传递则不是我们选择它的原因,因为我们
阅读全文
posted @ 2017-01-01 00:07
zhjh256
阅读(295)
推荐(0)
摘要:
RabbitMQ 默认日志里只有类似客户端“accpet/close”等信息,对于有异常或者跟踪消息内部结构就比较麻烦了。 不过MQ有个rabbitmq_tracing插件,安装该插件后在控制台的管理tab页,就可以看到多了一个trace的菜单。 trace文件位于/var/tmp/rabbitmq
阅读全文
posted @ 2016-12-31 20:04
zhjh256
阅读(1406)
推荐(0)
摘要:
在mysql 5.6开始就支持延时复制,这在一些需要维护大量非标准化系统或者运维技术水平较低的公司和开发人员众多的项目组这是一个非常有价值的特性,可以说误操作的概率跟一个城市车祸概率的水平差不多了,我们现在几乎每个两三天都会发生线上或者线下误操作导致数据需要恢复的情况。 在差不多2014年的时候,我
阅读全文
posted @ 2016-12-31 18:18
zhjh256
阅读(259)
推荐(0)
摘要:
在最近一周,我们的前端在测试某些批量超过的某个步骤时,发现请求好像发出来,但是后台状态没有变化,说是最近才出现的问题,以前一直都是正常的,两天连续出现两次之后,来找笔者,首先检查了下中间件的日志,发现请求已经过来了,但是到mysql时执行出现了异常,没发现逻辑有什么奇怪。因为web端有一些判断操作决
阅读全文
posted @ 2016-12-31 18:07
zhjh256
阅读(1489)
推荐(0)
摘要:
在之前的版本包括oracle mysql/percona server版本中,所有的动态SQL都需要通过prepare执行,如下: 现在可以这样执行:
阅读全文
posted @ 2016-12-31 17:59
zhjh256
阅读(361)
推荐(0)
摘要:
如下所示,每个rabbitmq队列除了发布和消费吞吐量外,还有一个评价MQ队列效率的更加重要的指标Consumer utilisation ,如下: 在最佳利用率情况下,这个值能够达到100%,并且生产中总是应该达到100%。但在很多系统中,这个值可能低于5%。这一般是由于下列原因所致(这三者我们都
阅读全文
posted @ 2016-12-31 00:21
zhjh256
阅读(2241)
推荐(0)
摘要:
正常情况下,我们引入的第三方jar一般都是类似spider-1.0.5-SNAPSHOT.jar的名称,但是有些环境下,我们引入的三方jar会带上了时间戳,如下所示: spider-1.0.5-20161212.095528-2.jar 可通过在pom.xml中包含如下插件的方式解决。 <plugi
阅读全文
posted @ 2016-12-26 12:39
zhjh256
阅读(1489)
推荐(0)
摘要:
很多时候,我们引用的第三方jar需要一些其他的第三方jar,这个时候默认情况下,间接需要依赖的第三方jar是不会自动被引入的,如果希望这些额外的三方jar被自动引入,则在Maven仓库中除了提交jar文件外,还需要把maven install创建的jar名.pom文件一并提交到maven仓库,这样第
阅读全文
posted @ 2016-12-26 12:05
zhjh256
阅读(1774)
推荐(1)
摘要:
因为一直以来使用tomcat和weblogic作为应用服务器为主,最近在升级新中间件的过程中遇到一个问题,我们的web前端应用现在升级是进行全量包升级的,因为现在的系统架构为前端和后端通过rpc框架交互的,后端使用java service wrapper进行管理,其组织架构允许我们在配置文件中随意设
阅读全文
posted @ 2016-12-25 19:54
zhjh256
阅读(902)
推荐(0)
摘要:
tomcat 7 WARNING: A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criter
阅读全文
posted @ 2016-12-24 22:03
zhjh256
阅读(3282)
推荐(0)
摘要:
一直以来因为线上系统盘中风控计算过于消耗资源,导致服务器负载太高,时常影响盘中交易的稳定性,最近决定了将风控拆分到独立的库进行计算,并进行回填操作。 总体来说,是将部分风控计算相关的表同步到备库,但是同步的表需要从db_act->db_rsk;db_rsk->db_rsk;db_sys->db_rs
阅读全文
posted @ 2016-12-24 17:52
zhjh256
阅读(662)
推荐(0)
摘要:
WebArgumentResolver: SPI for resolving custom arguments for a specific handler method parameter. Typically implemented to detect special parameter typ
阅读全文
posted @ 2016-12-22 14:30
zhjh256
阅读(490)
推荐(0)
摘要:
因为原来使用了MQ作为rpc机制,随着客户交易量越来越大,很多服务器推送行情的压力很大,最近打算重写为批量模式,又重新看了下qos和prefetch设置的作用以确定优化的具体细节。 消费者在开启acknowledge的情况下,对接收到的消息可以根据业务的需要异步对消息进行确认。 然而在实际使用过程中
阅读全文
posted @ 2016-12-21 13:41
zhjh256
阅读(6271)
推荐(0)
摘要:
最近,我们有些在阿里云上的应用总是有客户端出现异常和信息推送不及时的情况,检查mq日志,发现高峰期不停的有心跳超时,如下: =ERROR REPORT 21-Dec-2016::12:38:00 closing AMQP connection <0.909.1> (125.120.15.131:50
阅读全文
posted @ 2016-12-21 13:13
zhjh256
阅读(16559)
推荐(1)
摘要:
运维自动化工具 Ansible 是一款开源的自动化运维工具,基于 Python 开发,以其简单易用、轻量级、无代理架构等特点广受青睐。以下是 Ansible 的核心优点及适用场景: 一、核心优势 1. 无代理架构,极简部署 无需客户端:通过 SSH 直接连接目标主机,无需在被管理节点安装任何代理软件
阅读全文
posted @ 2016-12-20 12:42
zhjh256
阅读(908)
推荐(0)
摘要:
我曾问过很多自称热爱代码的程序员的发展规划,大多都回答说期望成为一名架构师。而在招聘一方,有的团队会过滤掉多次提起架构一词而一点不提具体内容的简历。可见,虽然在大多数程序员眼里,架构师是神圣的,但又不得不承认事实是:“架构”和“架构师”是最常被滥用的。那些写能 PPT 而不能写代码的人,只做和事佬而
阅读全文
posted @ 2016-12-19 21:04
zhjh256
阅读(434)
推荐(0)
摘要:
今天,项目组一个同事说开发环境一直正常quartz定时任务今天不跑了,因为异常已经封装了,所以应该不是没有捕获异常导致。也检查了JobDetail肯定没有重复的任务,最后检查qrtz_triggers表的时候,发现TRIGGER_STATE为ERROR了,照理应该是PAUSED或者WAITING,网
阅读全文
posted @ 2016-12-19 18:34
zhjh256
阅读(7957)
推荐(0)
摘要:
同任何的代码库一样,在mapper中,通常也会有一些公共的sql代码段会被很多业务mapper.xml引用到,比如最常用的可能是分页和数据权限过滤了,尤其是在oracle中的分页语法。为了减少骨架性代码,通常将它们抽象到sql中,但是肯定又不能在每个mapper中也包含,这样就没有意义了。此时,可以
阅读全文
posted @ 2016-12-17 22:16
zhjh256
阅读(7163)
推荐(1)
摘要:
最近在转一个原来使用oracle,改为mysql的系统,有些常用的oracle函数的mysql实现顺便整理了下,主要是系统中涉及到的(其实原来是专门整理过一个详细doc的,只是每次找word麻烦)。 date 公元前4712年1月1日至公元9999年12月31日 datetime:取值范围:1000
阅读全文
posted @ 2016-12-17 21:57
zhjh256
阅读(522)
推荐(0)
摘要:
昨天晚上,运维过来说有台生产服务器的mysql cpu一直100%,新的客户端登录不了,但是已经在运行的应用都正常可用。 登录服务器后,top -H看了下,其中一个线程的cpu 一直100%,其他的几乎都空闲。 MySQL thread id 14560536, OS thread handle 0
阅读全文
posted @ 2016-12-16 09:29
zhjh256
阅读(933)
推荐(0)
摘要:
关于long、double、BigDecimal在效率、可用性、灵活性等等方面的技术性讨论和测试其实在网上已经很多了,本文也不是打算讨论他们的实现的,其实笔者也曾在很长的职业生涯周期中一度拘泥于此。但是渐渐的,已经对此没有那么的一根筋在乎了,至少从整个决策思路而言。 在涉及到金额或金融的计算中,有些
阅读全文
posted @ 2016-12-15 18:18
zhjh256
阅读(805)
推荐(0)
摘要:
最近,在测试迁移公司的交易客户端连接到自主研发的中间件时,调用DAO层时,发现有些参数并没有传递,而在mapper里面是通过parameterMap传递的,因为有些参数为null,这就导致了参数传递到数据库的时候也是null,进而导致出错。因为我们公司的业务代码是通过类似一种模板的方式封装的,所以一
阅读全文
posted @ 2016-12-15 13:31
zhjh256
阅读(2614)
推荐(0)
摘要:
Mysql 5.7.17发布了,主要修复: Changes in MySQL 5.7.17 (2016-12-12, General Availability) Changes in MySQL 5.7.17 (2016-12-12, General Availability) Changes in
阅读全文
posted @ 2016-12-13 16:30
zhjh256
阅读(707)
推荐(0)