Bug1024

Bugs are eveyrwhere

RabbitMQ

消息队列RabbitMQ

组成 Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程。 Virtual Host: 其实是一个虚拟概念,类似于权限控制组,一个Virtual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是Virtual Host Exchange: 接受生产者发送的消息,并根据Binding规则将消息路由给服务器中的队列。E...

TCP握手

TCP连接与断开

连接建立过程 TCP 连接的建立采用客户服务器方式,主动发起连接建立的一方叫客户端(Client),被动等待连接建立的一方叫服务器(Server)。 最初的时候,两端都处于 CLOSED 的状态,然后服务器打开了 TCP 服务,进入 LISTEN 状态,监听特定端口,等待客户端的 TCP 请求。 第一次握手: 客户端主动打开连接,发送 TCP 报文,进行第一次握手,然后进入 SYN_SE...

书单

我的书单

PHP 《PHP最佳实践》 《PHP开发者实践》 《PHP核心技术与最佳实践》 《PHP扩展开发及内核应用》 《深入理解PHP内核》 Java 《大型网站系统与Java中间件实践》 《Effective Java》 《深入分析Java Web技术内幕》 《深入理解Java虚拟机》 《Netty权威指南》 JS 《JavaScript高...

网站架构

大型网站架构基础

海量数据存储 分库表基础上,单master多slave横向扩展 master和slave通过binlog近乎实时同步,任意slave可为master实时备份 主业务和辅业务模块数据库分离 多地部署,一处写入多出读取,保证就近读取 架构模式 分层:横向切分 分割:纵向切分 分布式:分层和分割的主要目的是为了切分后的模块便于分布式部署。常用方案: ...

Redis

Redis总结

特点 高性能Key-Value存储 丰富的数据结构:string、list、hash、set、zset、hypeloglog 支持数据过期:主动过期+惰性过期 支持多种LRU策略:volatile-lru、volatile-ttl 等 内存管理:tcmaloc、jemalloc 内存存储+磁盘持久化: rdb、aof 支持主从复制 单线程 配置 aof...

Qconf

分布式配置管理工具

360开源的一款分布式配置管理工具 相关链接 原理 GitHub 特点 一处修改,所有机器实时同步更新 高效读取配置 安装部署方便,使用简单 服务器宕机、网络中断、集群迁移等异常情况对用户透明 支持c/c++、shell、php、python、lua、java、go、node 等语言 服务端 QConf使用ZooKeeper集群作为服务端提供服...

2016年总结

不是总结的总结

今年是让我感觉过的最快的一年,发生的种种事情仿佛就在昨日。 既然是一年的总结那么就写个全面的一点的,包括工作,学习,生活。 作为一个程序员我原本计划这次年终总结应该花更多笔墨在技术编程上,但思考一番后却发现过去一年在技术领域上并没有什么值得写的。 工作 我是一个热爱工作的人,尽职尽责。 过去一年里最有意义的工作就是与项目成员一起完成了整体网站的重构,不过现在回想起来重构算是失败的。 这一次...

过去两年

转眼两年多过去了

毕业不知不觉已经两年半了,原本国庆节的时候就应该写这个总结的,现在已经是十二月份了,此时的我已经辞去了第一份工作,一路北上,加入了北漂一族。 专业选择 高考成绩并没有很理想,选择专业的时候也完全即兴发挥,后面才发现自己选的几个专业都在一个院系里,都是计算机相关的。 编程选择 大学过的马马虎虎,学过C,学过Java,最后还是选择了PHP,也许是PHP简单,而恰巧我又喜欢简单。 工作选择 ...