- 博客(54)
- 资源 (10)
- 收藏
- 关注
翻译 HAproxy with session sticky and HA
===================================================1. Simple HTTP load-balancing with cookie insertion===================================================A web application often saturates the front
2014-12-09 16:20:19
3690
翻译 Cloud Foundry’s 新容器技术: A Garden Overview
CloudFoundry(CF)中很早就使用了VMware研发的Warden容器来负责应用的资源分配隔离和实例调度。可惜的是,这一本来可以成为业界标准和并掀起一阵革命的容器PaaS技术却因为Pivotal的方针路线上的种种原因被后来居上Docker吊打至今。最近CFer有醒悟的迹象,在Warden上进行了大量改进和升级,本文就来一窥CF新容器技术的一些要点。
2014-10-28 16:06:40
4987
翻译 Flynn Architecture Note
Flynn ArchitectureThe Flynn architecture is designed to be simple and understandable. Most of the components of Flynn are no different than the services or applications that are deployed on top of
2014-08-18 10:55:39
1867
翻译 Blue-Green Deployments on Cloud Foundry (利用CloudFoundry实现蓝绿发布)
We’ll begin with a basic Spring application named ms-spr-demo. This app takes users to a simple web page announcing the ubiquitous “Hello World!” message. We’ll utilize the cf command-line interfa
2014-04-22 13:24:33
4473
原创 Go Exercise: Equivalent Binary Trees
packagemainimport("fmt""tour/tree")//Walk walks the tree t sending all values//from the tree to the channel ch.funcWalk(t *tree.Tree, ch chan int) {ift.
2014-04-22 10:09:46
3347
翻译 在生产中使用金丝雀部署来进行测试
t根据Nolio发布的DevOps最佳实践系列中的第一个视频,很多公司通过路由策略选择性地对部分用户发布新功能从而使用 “金丝雀部署(Canary Deployments)”来测试生产中的软件,并将这一方式作为其可持续交付的一部分。“金丝雀部署”是增量发布的一种类型,它的执行方式是在原有软件生产版本可用的情况下,同时部署一个新的版本。同时运行同一个软件产品的多个版本需要软件针对配置和完美自动化
2014-04-21 20:19:43
7042
原创 Go lang concurrency: select with channels
package mainimport "fmt"func fibonacci(c, quit chan int) { x, y := 0, 1 for { select { case c <- x: x, y = y, x+y case <-quit: fmt.Println("
2014-04-21 16:31:05
2070
原创 Go methods for types
you can define methods on struct types.The method receiver appears in its own argument list between the funckeyword and the method name.
2014-04-16 16:24:34
1999
原创 Go闭包
通过访问外部变量,一个闭包可以维持(keep alive)这些变量。在内部函数和外部函数的例子中,外部函数可以创建局部变量,并且最终退出;但是,如果任何一个或多个内部函数在它退出后却没有退出,那么内部函数就维持了外部函数的局部数据。关键词:weichi
2014-04-15 23:03:00
2969
转载 Go中的make和new
转载自:http://www.cnblogs.com/ghj1976/archive/2013/02/12/2910384.htmlmake用于内建类型(map、slice 和channel)的内存分配。new用于各种类型的内存分配。内建函数new本质上说跟其它语言中的同名函数功能一样:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。用Go的术
2014-04-11 16:56:42
17162
翻译 The git rebase Command
Rebasing is the process of moving a branch to a new base commit. The general process can be visualized as the following:From a content perspective, rebasing really is just moving a branch from o
2014-03-20 22:51:18
2476
原创 Linux rm指令删除文件到回收站
一不小心把新写的code全删了,幸好修改的东西不多花了一个小时又改回来了。所以:rm -rf 还是不要用了能用git管理的code绝对不能偷懒这也说明非常有必要将rm指令改为删除到回收站。但是发现网上的大多数方法是自己给rm其别名来实现,写了一大堆shell,太不优雅了(笑)。实际上,只要安装一个很小很强大的工具就足够了:https://github.com/a
2014-03-07 15:55:00
6584
1
转载 探秘fstab文件里面特殊分区
原文地址:http://linuxguest.blog.51cto.com/195664/522621估计大家平时对/etc/fstab文件已经很熟悉了,在启动流程中,紧接着/etc/rc.sysinit文件后被读取的。主要功能就是在系统启动的时候自动挂载分区,比如/分区,就是必须再启动时被挂载的。如果fstab存在问题,系统可能无法成功启动。 fstab文件主要
2014-02-22 12:49:33
1739
原创 A Distributed Mutex based on Redis
Set key to hold string value if key does not exist. In that case, it is equal to SET. When keyalready holds a value, no operation is performed. SETNX is short for "SET if N ot e X ists".
2014-01-06 20:09:30
2424
翻译 最终一致性
在世界范围构建可靠的分布式系统往往要求在一致性和可用性之间进行权衡。上个月,亚马逊公司的CTO Werner Vogels发表了一篇文章,描述在大型分布式系统中容忍最终数据一致性的方法。正如InfoQ之前的一篇新闻里所讨论的:系统架构师角色关键的一方面就是衡量相互冲突的需求、决定解决方案,常常要牺牲一个方面来换取另一个方面。亚马逊公司的CTO Werner Vogels发布
2013-12-17 22:56:20
2018
原创 Sublime配置文件翻译
// While you can edit this file, it's best to put your changes in// "User/Preferences.sublime-settings", which overrides the settings in here.//// Settings may also be placed in file type specific
2013-10-27 21:04:04
3156
转载 Event Loop
Event Loop 是一个很重要的概念,指的是计算机系统的一种运行机制。 JavaScript语言就采用这种机制,来解决单线程运行带来的一些问题。 本文参考C. Aaron Cois的《Understanding The Node.js Event Loop》,解释什么是Event Loop,以及它与JavaScript语言的单线程模型有何关系。 想要理解E
2013-10-24 20:12:44
2220
原创 Linux僵尸进程详解
1.僵尸进程概念:僵尸进程(Zombie Process):就是已经结束了的进程,但是没有从进程表中删除。太多了会导致进程表里面条目满了,进而导致系统崩溃,倒是不占用其他系统资源。在Linux进程的状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占
2013-10-13 14:42:48
1867
转载 Understanding Disk I/O - when should you be worried?
Our co-author today is Christian Paredes, Senior System Administrator atBlue Box Group, a Ruby on Rails-focused web host that specializes in providing the operations expertise required to keep pow
2013-10-10 12:53:11
2575
转载 Java异步消息的发送与回调
A发送消息给B,B处理好A要求的事情后,将结果返回给A,A再对B返回的结果来做进一步的处理。 四、 Java代码的实现A、 回调的实现 Java代码 /** * 回调接口 * @author KOOK * */ public interface CallBack { /** * 执行回调方法 * @param obj
2013-07-08 21:01:24
3025
转载 Linux Socket编程(不限Linux)
转自:http://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还
2013-07-05 23:08:39
790
原创 OSI七层网络模型中的责任和设备
OSI七层网络模型由下至上为1至7层,分别为物理层(Physical layer),数据链路层(Data link layer),网络层(Network layer),传输层(Transport layer),会话层(Session layer),表示层(Presentation layer),应用层(Application layer)。 应用层,很简单,就是应用程序。这一层
2013-05-13 22:11:42
1239
原创 Linux运维基础知识
1)Linux启动大致过程?*BIOS自检*运行系统内核并检测硬件从硬盘启动并运行系统的第一个进程init(LILO和GRUB模式)*init读取系统引导配置文件/etc/inittab,并根据运行级别配置服务/etc/rc.d/rc.localLinux系统缺省的运行级别0为停机,机器关闭1为单用户模式,就像Win下的安全模式2为多用户模式,但是没有NFS支持3为
2013-05-13 21:41:34
1997
原创 MySQL中,主键与普通索引的区别是什么
一、什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记
2013-05-04 20:56:45
2465
原创 Cloud Foundry HA with NATS and other explaination (by James Bayer)
There has been another post on this previously. When running on vSphere / SAN, this is generally not an issue as we have relied on vSphere HA features for several years and it offers a robust IaaS tha
2013-05-03 23:14:04
2481
原创 TCP 协议详解的补充内容
一、 TCP 协议 1、 TCP 通过以下方式提供可靠性: ◆ (1)应用程序分割为 TCP 认为最合适发送的数据块。由 TCP 传递给 IP 的信息单位叫做报文段。 ◆ (2)当 TCP 发出一个报文段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能记时收到一个确认,它就重发这个报文段。 ◆ (3)当 TCP 收到发自 TCP 连接另一端
2013-03-27 22:13:03
1129
原创 Java中的成员初始化顺序和内存分配过程
原帖是这样描述的:http://java.dzone.com/articles/java-object-initialization?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29&utm_content=我们这里
2013-03-26 00:31:55
1885
翻译 Getting started with JVM Memory model and GC
Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。JVM主要管理两种类型内存:堆和非堆,堆内存(Heap Memory)是在 Java 虚拟机启动时创建,非堆内存(Non-heap Memory)是在JVM在堆之外的内存。简单来说,堆是Java代码可及的内存,留给开发人员使用的;非堆是JVM留给自己用的,包含方法区、JVM内部处理或优化所需的内存(如
2013-03-24 16:36:06
1506
原创 The Process of TCP Connection and State Transfer
有关连接建立与关闭的知识均选自: http://www.centos.bz/2012/08/tcp-establish-closeTCP三次握手所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编
2013-03-23 23:41:10
1616
原创 Monitoring Cloud Foundry On System Level
NOTE: This is a summary of my previous work on Cloud Foundry monitoring system based on BOSH.There are two levels for monitoring CF based on BOSH: one for varz and one for agent;one returns
2013-03-23 13:26:58
1843
转载 Quick Sort
很有意思的而文章,转自:http://www.cnblogs.com/morewindows/archive/2011/08/13/2137415.html快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试
2013-03-11 23:23:38
752
转载 Java字符串驻留池
转自:http://hilary3113.iteye.com/blog/1490223http://blog.youkuaiyun.com/flyjimi/article/details/2645063看例子:例子A: String str1 = "java"; String str2 = "java"; System.out.print(str1==s
2013-03-10 16:32:09
1539
转载 图解VMware内存机制
文章转自Live空间(http://delxu.spaces.live.com/blog/cns!D04F87F9ED029F69!2583.entry)和51cto技术博客(http://delxu.blog.51cto.com)首发。转发时务必表明出处,顺便给博主做个广告,文章写的真的很好,深入浅出,期待看到更好的博文,再次表示对博主的感谢!!!图解VMware内存机制 del
2013-03-08 11:46:49
2145
原创 Objects and Classes in Ruby
Metaprogramming of Ruby 读书笔记第一章一、Ruby中关于类和对象的概念1、对象:对象是一组实例变量外加一个指向其类的引用。对象的方法并不存在于对象本身,而是存在于对象的类中。所以这些方法被我们称作类的实例方法。图:对象与类的关系,以及实例方法的归属2、类:类其实是Class类的一个对象,外加一组实例方法和一个对其超类的引用。Class类是
2012-11-18 20:52:16
1464
原创 以NATS为主线的CloudFoundry原理
本文将试图以CloudFoundry中的消息组件NATS为主要线索,以在CF中广泛使用的并发和网络编程框架EventMachine为侧重,来串联整个CF主线功能的工作原理,力求能用简单直接的方式描述出较多的架构细节和系统设计。需要准备的知识:EventMachine(EM)的基础知识和使用方法,可以参考不久前的介绍:Research on EventMachine关于N
2012-10-31 17:03:28
21718
原创 Research on NATS
NATS是CloudFoundry内部的神经系统,是一款基于EventMachine、使用“发布--订阅”机制的轻量级消息中间件。基于EM的特点使得NATS在Ruby环境下有着处理高并发请求的能力。NATS对消息本身不做持久化,所以匹配和订阅的过程比较简洁高效。目前,NATS server是CF中一处需要解决的单点依赖。NATS主要的依赖gem包包括:eventmachine, jso
2012-10-24 19:41:33
7006
1
转载 Linux 守护进程的编程方法
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。 守护进程的编程本身并不复杂,复杂的是各种版本的U
2012-10-18 16:24:24
1013
转载 ACM基本算法分类、推荐学习资料和配套习题
相信每一位玩ACM程序设计竞赛的同学来说,都有一个从入门到精通的过程,而且分享他们经验的时候,见到最多的就是一种合作和拼搏精神,乐在其中的那种激情。 Wilbert即将毕业,作为一个菜鸟级的入门玩家,一直很想知道如何能在程序设计竞赛中成为一个高手。即将无缘类似竞赛的我,终于整理出了一些程序设计竞赛ACM训练之道,愿与大家分享。 首先是编程的能力,一般要做到50行以内的程序不用调
2012-10-10 16:15:54
4433
1
原创 编程珠玑 Chapter2 字符串翻转算法
没办法,久没练过算法,只好用Java写了。题目很简单:Q: abcdefg, r=3A: defgabc代码一:借助StringBuffer的append来做。即一部分一部分来求逆,然后再“拼接”起来求逆。public class Rotate { /** * Rotate a String by reversing it partly and then
2012-09-27 22:02:28
1160
完整的Uploadify+Struts2使用案例
2012-02-19
最简洁,最好用的JQuery附件上传控件Uploadify使用示例
2012-02-18
MySQL5.0驱动程序最新版
2011-12-19
spring-framework-2.5.6_lib_src.rar
2011-10-31
基于S2SH的个人在线理财系统(开源)
2011-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人