Hsz's Blog

现代魔法及其影响与应用

redis在分布式系统中的应用

redis在分布式系统中的应用 redis作为一个key-value内存数据库,因为其附带有性能优越的多种数据结构,在应用上带来了很多附加功能呢.在分布式系统中redis常作为一些特殊的中间件存在而非单纯的内存数据库.本文将总结这些特殊用法. 全局计数器 redis可以使用$2^64$ 而pg序列最大只能到$2^31$虽然都已经是天文数字了但依然有巨大的差异.而一般数据库一旦做分表,那...

使用Jenkins做CICD

使用Jenkins做CI/CD CI/CD是提高工作效率的基础.我们知道一般开发行为中开发编码的时间往往只占30%,剩下的全是测试和部署.如果可以降低测试和部署的时间那就可以大大提高工作效率. CI/CD就是这样的工具,它的作用就是利用脚本自动化测试和部署. 那为啥使用Jenkins呢?毕竟这已经是一个比较旧的工具了,而且用于配置Jenkinsfile使用的是类似C语言的写法(本质是g...

常见的消息中间件

简评常见的消息中间件 就像构建程序时我们往往需要一些组件用于结构不同的模块一样,在复杂的分布式系统中,我们使用消息中间件来为不同的组件解耦. 常见的消息中间件分为两种功能: 消息队列,用于构建生产消费模式 广播,用于构建发布订阅模式 常见的中间件有: redis: 使用List数据类型实现消息队列;使用PUBLISH/subscribe构建广播 ...

从圣歌看项目管理

从圣歌看项目管理乱象 EA最近发布的圣歌成了游戏业界的焦点–凉了.立项7年实际18个月赶工出来,宣传中的3A大作,实际玩法单一优化稀烂恶性bug不断.最近还有员工爆出了加班丑闻,在立项起至今开发人员都换了不知几波,连核心创业团队都换了几波,设计方向不断变,做了无数无用功.仔细一看简直把人月传说中提到的坑都踩了个遍.这真是个大悲剧,由此可以看到Bioware或者说EA在项目管理上的混乱.我也...

docker swarm 部署gitment后台服务

docker swarm 部署gitment后台服务 这个博客最早的时候使用的是多说,但后来我把账号给忘了…于是想想要是能没有依赖就可以有评论功能该有多好呀,然后就发现了一个只需要github账号就可以登录发表评论的工具gitment.这边先感谢下这位作者大大,无论如何比多说这种确实方便很多–借用github的账号系统,评论放项目工单,怎么都比把评论交给一个不知哪里来的公司强多了. 但有...

mac端的实用工具

mac端的实用工具总结 本人主力机是一台macbook,这边记录下比较实用的工具 工具 说明 Easy new file creator 解决mac无法直接在文件夹中创建文件的问题,记得需要设置系统的扩展部分,勾选它的”访达扩展” The Unarchiver...

玩转Nginx

玩转Nginx Nginx是一个用于处理静态文件,负载均衡和反向代理的服务器,几乎是运维必备的技能之一,本文只介绍如何实现这些功能,并不会讲解原理.要看原理的可以看由淘宝核心系统服务器平台组成员整理的攻略书或者这篇文档说明 Nginx的的设计目的是作为一个http静态服务器.但路越走越歪现在的功能早已不再局限于http静态服务器,在微服务架构盛行的当下Nginx也常作为微服务的中间件充当...

RESTful风格的接口设计

RESTful风格的接口设计 RESTful架构是目前最流行的一种互联网软件架构.它结构清晰,语义化,易于理解,扩展性好,所以国外知名的网站都早已采用,比如:Github,Google,Facebook,Twitter等,国内也越来越多的公司在做着这方面的尝试,但可能是由于国内环境的问题,不少所谓的RESTful风格的接口其实都是不得精髓的劣化版实现.写这篇文章就是为了避免写的RESTfu...

集群实验_基于gogs和Jenkins的代码托管平台搭建

代码托管平台 现代软件工程是一个系统工程,早就不是一个大神干就能干下来的时代了.软件开发意味着合作,合作就意味着需要有套机制管理代码的版本,有一套系统管理代码的权限. 这种天然的需求就催生了代码托管平台的诞生.当然有的代码托管平台还附带上了社交属性,这就是另一个故事了. 目前最常见的代码托管平台都是依托于git工具.开源界最知名的应该就是github.大量优质的开源项目都托管在上面.无...

树莓派与局域网内共享代理

shadowsock代理 由于众所周知的原因,国内访问国外一部分网站/服务会失效或者速度极低.这种时候就会需要使用代理服务器. shadowsock是老牌的代理工具,是一个客户端/服务器结构的工具,其原理如下图.这边不做过多介绍. 终端(浏览器等服务) --> ss客户端-->ss服务器--> 你要访问的服务 本文假设读者已经拥有一台服务端的信息,讨论的是如何...