- 博客(58)
- 资源 (6)
- 收藏
- 关注
原创 Webvirtmgr的docker安装
容器集群有几台物理机,之前一直在物理机上运行,现在需要在上面安装虚拟机,通过虚拟机来运行容器。为什么改为虚拟机运行?为了管理方便:升级,重启,同时减少故障、问题影响范围。 kvm虚拟机的运维,之前直接是用命令操作,机器少还好,多了就挺麻烦了,因此需要找一个管理工具。之前有用过Webvirtmgr,目前看到还是Webvirtmgr简单,适用。发现有docker版本,直接拿来使用 ...
2018-12-21 09:26:42
2357
1
原创 k8s使用技巧
k8s中如何镜像地址不变触发更新最近在把k8s进行产品化封装,加入一些讨论群,经常有人问到:k8s中如何镜像地址不变触发更新这个问题,其实细细读一下官网或者翻译文档,在deployment一节,是有相关描述的:注意:Deployment的rollout当且仅当Deployment的pod template( 例如.spec.template) 中的label更新或者镜像更改
2017-11-21 19:21:55
1666
原创 【golang】未关闭连接造成的血案
正常来说,TCP连接的两端在使用完成要及时关闭连接,特别是主动连接的一方(客户端)使用完要主动关闭。 最近就遇到没有关闭连接造成重大问题的案例。
2017-01-21 14:37:31
1299
原创 关于 PHP 性能优化
本文写的也是关于PHP性能优化方面的话题,虽然老生常谈,但还是以我的角度来一个总结或分享。 网上关于50条PHP优化的方法,除此之外从架构或环境方面的优化建议等,是非常有益的。下面讲讲我所关注的一些方法或建议。 一般来说,性能优化可从大的方向开始,从对影响性能比较大的因素来考虑。比如现在使用PHP5.7,性能据说可以成倍增长。
2016-12-15 09:23:17
12042
原创 PHP之session机制和优化
本文说一说PHP中的Session机制和优化的话题。默认情况下,我们是直接使用$_SESSION来操作会话,并且以文件的形式保存,一个会话对应一个文件。如果单个目录下存储太多会话文件影响读取效率,可以通过配置多级目录存储。默认使用文件保存会话,存在单机情况,不能部署应用群集的方式来扩展PHP应用。\
2016-07-14 00:15:37
3518
原创 PHP搭建自己的web框架-视图/模板引擎
视图,MVC中的V,View,如何将数据通过合适的格式展现给用户或调用方。当然使用什么格式展现由控制器直接控制,但根本原因由人或系统决定。本文主要描述的是如何在web框架中输出网页视图,也就是HTML格式的视图。
2016-05-03 01:28:46
4210
原创 API接口非幂等性问题及使用redis实现简单的分布式锁
在我们平台中,开放了一些接口给其它系统或第三方应用调用。在开放接口时考虑非幂等性问题,实现时还要考虑分布式环境,防止重复创建对象,这里是产生的问题和解决的思路。
2016-03-05 19:09:52
5385
1
原创 PHP搭建自己的web框架-控制器
控制器是整个网站的逻辑实现主体,是最核心部分。简单的,控制器是一个类方法,调用model并显示数据。不过,一般来说功能和业务都不会很简单,会自然形成或逐渐演化到一定的功能层次,形成相对清晰的层次和功能划分。
2016-01-23 21:29:52
2674
原创 PHP搭建自己的web框架-路由
路由指URL路由,通过解析URL参数找到执行的(控制器的)方法。 通过URL,能找到目标类和目标方法,通常使用pathinfo或参数。比如: pathinfo :http://xxx.com/index.php/user/info,pathinfo=/user/info,类是user,info是类中的方法 参数:http://xxx.com/index.php?mod=user&ac=info,则类是user,info是类中的方法 上面两种方式通过apache
2016-01-03 14:12:23
4192
原创 PHP搭建自己的web框架-程序初始化
入口及路由,在把控制权交给控制器之前需要完成的工作,一般只做初始化工作,不做与业务有关的事情。 具体有: 1. 定义入口相关的环境变量 2. 加载引导文件和配置文件 3. 加载全局方法、通用类文件 4. 设置环境变量、执行全局初始方法 5. 路由设置、路由执行
2016-01-03 01:31:38
2218
原创 PHP搭建自己的web框架-总体概述
我觉得最简单好上手的PHP网站框架,需要一个路由、一个控制器,一个模板引擎。其它功能板块则按需添加。 如果一开始没有能力按项目要求开发自己的PHP框架,那么在第一次使用一个框架后,在其它项目中就应考虑自己按需实现网站,并形成自己的框架。
2016-01-02 10:50:15
4421
原创 PHP搭建自己的web框架-前言
目前使用PHP开发项目已经有几年时间,虽然不是专职的PHPer,但在现在的公司,走过了PHP从入门到熟悉到熟练应用过程,一直在使用,不敢言专业,属于应用PHPer。现在希望能很好地总结并分享一下自己PHP历程和经验,也希望看过文章的朋友能有所收获。
2015-12-19 12:48:43
2059
1
原创 IE 11下载文件中文乱码解决(go/php)
IE 11下载文件的时候发现乱码.网上查了下资料,了解了一下,主要是user-agent变了,不再是MSIE,面是rv:11.0这样,所以只要服务端判断出是IE 11,处理跟MSIE一样。
2015-06-16 09:50:42
2230
原创 我在REST API应用网关负载均衡中加权轮循方法的实现
最近项目需要一个REST API应用网关,因此用GO写了一个,并简单地实现了加权轮循算法。基本思路是初始化时生成一个队列,在每次请求到来,选取backend时,直接从队列里选取,不用实时计算。
2015-03-21 19:36:36
2520
原创 net.ipv4.tcp_tw_recycle参数造成的连接不稳定
net.ipv4.tcp_tw_recycle参数造成的连接不稳定,NAT设备后面的用户上网,发出的TPC/IP时间戳不连续,造成服务端丢弃连接。那该不该设置呢?我认为这样:1. 如果是服务企业客户,或者是一个企业互联网就用,那就设置为0,企业客户投诉和抱怨影响是非常大的,只能其它方面来优化。2. 如果是一个互联网普通用户使用的网站,设置为1,那也影响不大。
2015-03-17 18:31:29
6648
原创 mysql/mariadb 使用数据库名.表名更新 主从不同步的一个问题
今天终于发现了一个mariadb表的数据没有从主同步到从的问题。程序是golang程序原来的做法是:DSN=username:password@tcp(192.168.206.231:3306)/然后,更新表的时候使用:数据库名.表名这样做,从数据库不同步然后改为下面方式即可:DSN=username:password@tcp(192.168.206.231:3306)/dbname更新表的时候直接用表名引用
2015-03-03 10:15:31
1367
原创 golang 生成随机数,时间种子改进型
golang 生成随机数,加一个循环计数,这是使用时间作为种子的简单改进型,在同一线程多次调用及并发的时候都表现良好。
2014-12-03 14:25:06
3265
原创 再淡spring jdbc 连接池断开重连设置
避免连接池:No operations allowed after connection closed错误,正确的做法是:连接池配置中的timeBetweenEvictionRunsMillis和minEvictableIdleTimeMillis的时间小于或者等于mysql数据库中wait_timeout的时间。
2014-11-14 18:05:18
13908
1
原创 一个可以作为代理服务器或者转发的java类
一个可以作为代理服务器或者转发的java类。项目中用到,这里把它给简化和通用了,突出基本思路,具体可以基于这个类来修改。基于java容器和servlet。
2014-09-19 09:02:17
3336
原创 网站访问日志看安全
经常查看日志,偶尔会发现一些不怀好意的访问,当然也可能是某些人或者机构来检查网站的安全性吧。通过日志看看别人是怎么扫描的,采取相应的措施,增加运维安全经验。
2014-08-31 11:30:44
2614
原创 从[java.lang.OutOfMemoryError: Java heap space]中恢复
出现java.lang.OutOfMemoryError: Java heap space的错误要么是程序问题,要么就是分配给JVM的内存确实不够。一般来说都是可以事前可控解决的。但是如果不可控的情况,例如使用第三方包,或者系统抽筋,就会抛出OutOfMemoryError错误。OH NO,根据不会抛出来,当前线程直接挂掉。既然都挂掉了,谈什么恢复?而且挂掉也不只是OutOfMemoryError的问题。 一般情况下,OutOfMemoryError在不可控的情况下,真的真的真的不需要处理,干脆无视
2014-08-23 21:27:42
1501
原创 hadoop hdfs空间满后重启不了
服务器检查的时候,发现存在HDFS上的文件无法同步,再发现hadoop停掉了。进行重启,重启不成功。经过一系列的操作,终于把hadoop集群重启并恢复数据。
2014-08-06 14:30:06
3193
3
原创 cloud foundry Error (JSON 500)
用VMC 上传或更新代码,出现如下错误:Uploading Application: Checking for available resources: Error (JSON 500): 也不知是什么原因。先前是用二进制将整个文件夹上传到服务器,然后再通过VMC部署的。就出现这个问题。后来将代码压缩,然后上传到服务器再解压,再通过VMC部署就OK了。是不是上传过程中代码被改变/破坏了?
2014-08-04 09:50:46
711
原创 用extjs 4.0打造自己的WEB桌面之二
原创,引用请注明出处:http://lihui.luo.blog.163.com/blog/static/1896906201111523334271/本教程基于extjs 4.0版本,从静态桌面图标换行讲起,到实现自己的动态WEB桌面,可以像webQQ那样添加应用, 打开应用。本教程不包括详细js代码和服务器代码,但基本思路及主要代码给出。2 桌面加载动态图标下面讲解如何实现自己的动态桌面。可以
2014-08-04 09:50:39
707
原创 用extjs 4.0打造自己的WEB桌面之一
原创,引用请注明出处:http://lihui.luo.blog.163.com/blog/static/189690620111152321374/用extjs 4.0打造自己的WEB桌面 本教程基于extjs 4.0版本,从静态桌面图标换行讲起,到实现自己的动态WEB桌面,可以像webQQ那样添加应用, 打开应用。本教程不包括详细js代码和服务器代码,但基本思路及主要代码给出。
2014-08-04 09:50:37
1200
原创 java hadoop分布式系统文件操作
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataOut
2014-08-04 09:50:34
617
原创 hadoop搭建与eclipse开发环境设置
发现粘贴上来,图片不见了,格式也变样了。 所以给个完整的DOS文档下载地址: CSDN:http://download.csdn.net/source/3451748 百度文库:http://wenku.baidu.com/view/91a5d3c489eb172ded63b797.html hadoop搭建与eclipse开发环境设置 1. 前言1.1 目标 目的很简单
2014-08-04 09:50:32
671
原创 讲设计
设计人员在设计的时候应该熟悉所使用的框架,并且利用框架的便利性来考虑,并且应该保持设计与实现的一致性。蹩脚的设计,不清晰的设计,偏离所使用框架的设计,往往要开发人员来承担痛苦。
2014-08-04 09:50:29
436
原创 java属性变化事件机制(2)
如果需要处理大量的属性又怎么样呢? 想象这样一种场景: 要在屏幕上显示远程交换机(或者路由器)的前后面板的各组件(交换机完整照片分割成可管理的拼图)特别是显示灯的情况,这样用户就不用走到交换机所在的地方,就可以监控到交换机的运行情况。交换机的各个灯都有其意义,电源灯,端口灯……运行的并正常的端口亮绿点,shutdown的不亮灯,有故障的亮红灯等……除了灯还要显示交换机的模块
2014-08-04 09:50:07
1141
原创 java属性变化事件机制(1)
属性事件主要关注属性值的变化所产生的事件。一般都会定义好属性并保存着,只是其值会变化,变化即产生事件,要作相应的处理。应该与点击一个按钮等产生的事件相区别。 如一个属性light(灯),它的值有on和off。。。。 也写了一个例子,与java标准事件机制类似。一个信号灯,红,黄,绿变化着,即当这个信号灯的属性color的值是红则变为红灯,值是黄则变为黄灯,值是绿则变为绿灯。
2014-08-04 09:50:05
1127
原创 java事件机制
项目中的一个模块中使用了java属性事件机制,最近也在学习中。主要不是学习如何应用了,往深一层学习研究一下。 java的事件(非属性事件),我觉得主要关注事件的有和无,如按下一个按钮,就产生一个事件。主要应用在GUI中,而在AWT,SWING中已经定义好很多事件,我们只要实现就可以了。而在非GUI中,使用事件机制感觉没什么太大意义。如监控一个系统,当系统发生一个故障,被监控到,这
2014-08-04 09:50:03
561
原创 关于debug使用及debug性能报告
日本客户说debug多了会影响性能,即使开关没有开,但要判断很多次的话性能肯定要低,因此这边还是作了实验。调用下面这个类中的method( )方法。分别是调用10000次、100000次、1000000次,10000000次的时间上的差异:
2014-08-04 09:50:00
1732
原创 java使用SSH执行UNIX命令问题
这几天项目中要把原来用FTP与TELNET兼容SSH协议,使用com.jcraft.jsch包,也差不多改完,把遇到的问题总结如下: 第一个就是登陆不上,返回异常:auth fail,一开始就登陆不上,郁闷死啦。 不过最后还是在百度找到答案,解决如下: 修改配置文件sshd_config,将PasswordAuthentication
2014-08-04 09:49:55
799
原创 unix shell获取IP和修改IP
#!/bin/ksh#全局变量#已配置信息的网卡个数ETHNUM=0#网卡名称信息,多个网卡用#符号分隔ETHS=""#网卡IP/掩码/默认网关信息,用:符号分隔,多个网卡用#符号分隔ETHINFO=""#网卡名称信息,用数组存储ETHSArray[0]=""#网卡IP/掩码/默认网关信息,用数组存储ETHINFOArray[0]=""#修改IP时原IP所在网卡在数组中的索引ETHINDEX=
2014-08-04 09:49:51
1743
1
原创 shell脚本:自动FTP和TELNET
因为OCS有几套系统,每次导数据都要在几套系统上做一遍,都是重复的工作,因些写一个脚本自己在几套系统上执行相关的命令。已经成功执行。 程序中telnet and ftp 用到here document,这个要注意end limiter must start at left。下面是脚本的主要框架: #!/bin/bash#don't use chinese charact
2014-08-04 09:49:46
601
原创 java对execl的简单操作
因为工作经常面对大量数据制作,数据制作又占用了很多时间,所以往往编写脚本或程序来处理。 这个是移动手机号段与区号的对应关系数据,从局方获得原始数据文件,execl文件,然后根据原始数据文件制作成shell脚本处理的数据文件,从后台倒入数据。 原始数据如下,第一行为手机号前四位,第一列为区号,交叉的是手机号第五位到7位,要把它们拼起来,形成7位的号首,区号对应全国的,很多,号段一
2014-08-04 09:49:35
625
原创 软件中的智能
嘻嘻,没什么技术可言也谈人工智能 怎样才说一台计算机具备了智能化? 当然了,它要具有广博的知识,准确的分析能力(归纳总结能力),学习能力等。就谈这几点吧。 广博的知识,其实好解决,把人类知道的知识都输入给它呗,但它需要超大的记忆体,有了这么知识后就要有快速的检索能力,快速的响应能力,才符合智能的需要。看来,运算能力,存储能力还需要提升,还有优秀的
2014-08-04 09:49:28
701
用extjs 4.0打造自己的WEB桌面
2011-12-05
PHP WebService实现
2011-11-16
hadoop搭建与eclipse开发环境设置
2011-07-18
组建基于Linux的IPv6网络试验平台
2011-07-14
基于RMI的分布式消息传送模型
2010-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人