生产环境docker历险记

首先感谢产品狗jinkey(https://jinkey.ai/)把他的服务器托付给我部署应用,下面讲一下最近在生产环境使用docker惊心动魄的经历。 docker是双面刃 你爱的人往往伤你最深,docker的环境隔离,快速交付,持续构建支持等优势往往让人爱不惜手,但是越依赖于docker的时候,你却会发现越来越无助,因为高级的资料真的不好找。 环境隔离分析 首先我们来看一下docker环境隔离的实现原理,其实本质是利用linux系统的进程命名空间隔离进程。本身linux系统只有一个命名空间,每个命名空间下面可以有很多进程树。但是当新建了一个命名空间之后,该命名空间下的进程不能知道其它命名空间的进程,所以达到了隔离进程的目的。但是注意命名空间同级进程可以知道命名空间下的进程,这也是我们在系统输入ps aux可以看到docker容器跑起来的进程。 参考: ...

chrome插件开发实践

首先我们来看一下chrome能做什么事情,其实主要的功能是往页面注入一段js代码,修改浏览器外观和获取浏览器内部信息。 chrome插件生命周期 浏览器打开时执行一次的js代码 每打开一个页面执行的js代码 点击浏览器上插件按钮,打开一个页面,执行的js代码 开发chrome插件的准备工作 一个文本编辑器即可 一个hello world工程 新建一个文本文件:manifest.json 内容如下: { "manifest_version": 2, "name": "优读Uread网页版插件", "version": "1.0", "description" ...

Uread 自动化运维平台实践

首先技术并没有好坏之分,只能说一种技术在特定场景会优于另一种技术。 首先uread优读(http://aiuread.com/)作为一个还处于起步阶段的团队,那么没办法造出像大企业他们那种自动化运维平台,真实情况是连用OpenStack来管理应用都是一种高难度活。 第一阶段,单体应用,纯人力部署 团队一开始,反正后端就一个系统,然后又是用git作为团队内部的协作工具,部署理所当然是直接每次发布新版本,直接执行git pull,然后执行一个封装好kill进程,重启进程的shell脚本,接着更新版本流程完成。 第二阶段,服务拆分,交互遇到问题 随着功能越来越多,后端前端的同学也越来越多, ...

微信IOT与airkiss3的wifi硬件操作实践

最近接触微信硬件平台开发,然后微信扫描连接wifi设备的开发流程只是很简单的,无奈文档实在不多,下面我写一下详细的成功的开发流程。 硬件准备 1台安卓机,1台装有微信的手机(安卓或者ios) 模拟设备制作 假如我们手头上没有wifi硬件设备,我们可以拿一台安卓机来模拟wifi硬件设备,当然要下载一个软件,链接是: http://iot.weixin.qq.com/wiki/doc/sdk/Airkiss3.0SDKforandroid20160113_165358.zip 当然这个安装包里面的apk不要直接安装, ...

使用moquette搭建mqtt服务

moquette安装 第一步访问项目主页:https://github.com/andsel/moquette 第二步,在主页找到下载地址:https://bintray.com/artifact/download/andsel/generic/distribution-0.10-bundle-tar.tar.gz 第三步,解压运行(当然你需要安装好java环境) tar zxf distribution-0. ...