我们要结婚了

放假前,再发一篇博客吧。这次不是技术,是秀恩爱...和女朋友在一起也五年多了,虽然中间也经历了很多波折,但结局好一切都好。如今马上就要走进婚姻的殿堂,没有婚前恐惧症,只感受到满满的幸福。最后,附一首我喜欢的歌和歌词吧。终于等到你到了某个年纪你就会知道 一个人的日子真的难熬 渐渐开始尝到孤单的味道 时间在敲打着你的骄傲 过了某个路口你就会感到 彻夜陪你聊天的越来越少 厌倦了被寂寞追着跑 找个爱你的人就想托付终老 能陪我走一程的人有多少 愿意走完一生的更是寥寥 是否刻骨铭心并没那么重要 只想在平淡中体会爱的味道 终于等到你 还好我没放弃 幸福来得好不容易 才会让人更加珍惜 终于等到你 差点要错过

Go缓存库cache2go介绍

cache2go是一个用Go实现的并发安全的缓存库,实现了如下特性:并发安全;可设置每条缓存的超时时间;内置缓存访问计数;自调节的缓存过期检查;可设置缓存增加/删除回调函数;and so on...这个库代码量很少,核心代码就三个文件,里面设计的技术点主要包括读写锁、goroutine、map操作等。作为Go语言学习样例也非常不错。1. 源码解析cache2go中主要涉及两个类型CacheItem、CacheTable:一个CacheItem代表一条缓存;一个CacheTable代表一个缓存表,由一条条缓存组成。下面我们分别介绍。1.1 单条缓存CacheItemCacheItem的结构如下:

再折腾博客

折腾博客自从去年从Wordpress迁到Typecho之后,博客就逐渐稳定下来,最多平时就做些边边角角的修改。无奈最近多说评论系统突然宣布要关闭,就又不得不好好折腾一番。替换评论系统当然第一件事就是替换掉即将要关闭的多说。从2014年建立博客后不久就开始使用多说,直到现在也有三年多了。平心而论,多说是众多评论系统中做的非常不错的一个产品,用户量也应该是最多的一个,只是可能没有盈利吧。其实我觉得可以仿照前段时间为知笔记突然从免费收费的运营模式,如果失败了,再关闭也不迟。当然,这些都不是我应该关心的,我要做的是解决评论的问题(虽然平时也没多少评论...)。先后尝试了有言、畅言、网易云跟帖等产品,感

通过Heapster API获取Kubernetes监控数据

在上篇文章《Kubernetes资源使用监控实践》中,我们已经介绍了如何在Kubernetes上面部署Heapster,以及结合InfluxDB和Grafana做了界面展示,但在最后我们提到很多系统可能只是获取这些监控信息,然后使用自己的方式去做展示。所以本文主要介绍如何通过Heapster提供的REST API来获取这些监控信息。Heapster通过Metric模型来组织这些监控数据,这些数据可以通过REST API来获取,目前提供的监控维度可参考:https://github.com/kubernetes/heapster/blob/master/docs/storage-schema.m

Kubernetes资源使用监控实践

对Kubernetes中的各项资源进行监控有助于我们时刻了解集群的运行状况,从而对集群进行相应的操作,比如扩容、缩容等。在Kubernetes中主要通过Heapster结合一些其它组件进行资源监控。1. 架构分析Heapster也是Kubernetes的一部分,主要目标就是对Kubernetes集群进行基础监控,再结合cAdvisor等工具就可以对集群进行很好的监控。而cAdvisor工具已经集成到了kubelet文件中,当我们部署好一个Kubernetes集群以后,默认监听在4194端口,且有简单的UI:某个容器的资源使用:Heapster和普通的应用一样,都是以Pod的方式运行在集群中,并

Ubuntu 14.04部署Kubernetes及可能遇到的问题

之前已经写过文章如何在Ubuntu 16.06等使用systemd的系统上面部署Kubernetes,正好使用的是非systemd系统的Ubuntu 14.04部署了一下Kubernetes,按照官方文档遇到了很多问题,总结了一下发出来,希望可以帮助到遇到同样问题的人。本文主要参考自Kubernetes官方文档《Manually Deploying Kubernetes on Ubuntu Nodes》,但因文档很久没有更新了,部署比较新的版本时会有很多问题,所以这里列一下部署步骤,并说明部署过程中可能遇到的问题及解决方案。NB:该部署方法只适用于Ubuntu 14.04等使用upstart的

WebSocket协议及Go中的用法

本文主要介绍WebSocket以及Websocket在Golang中的实现和使用。1. WebSocket是什么?这里先列两篇文章:《WebSocket 是什么原理?为什么可以实现持久连接?》,这个是知乎上的一篇文章,对于WebSocket讲的通俗易懂,建议先看一下。The WebSocket Protocol RFC6455,这个是WebSocket的RFC文档,所以内容非常全面(当然只涉及协议,不涉及具体实现),不过内容太多,如果是初次了解,可以挑自己感兴趣的看看。或者直接看我的文章。1.1 为什么会出现WebSocket在介绍WebSocket之前,我们先来了解一下为什么会出现WebSo

Go网络编程——Socket

以前主要使用的是Linux C网络编程,现在学习了Golang,就总结一下Go中的socket编程,本文基于Go 1.7.4,和socket相关的代码在go/src/net/net.go文件中。网络协议模型回顾我们先来简单回顾一下网络写协模型。说到网络协议一般就两个模型:概念意义上的OSI(Open Systems Interconnect)的七层协议和实际中使用的TCP/IP四层协议。OSI七层网络模型:从第一层到第七层分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP四层网络模型:从第一层到第四层分别是:网络接口层、网间层、传输层、应用层。最后用一张图来结束回
|