笔者使用的是mac系统,因此介绍mac下golang的环境搭建。
1、安装Golang的SDK
google官网被墙下载地址如下: http://www.golangtc.com/download ,下载最新的安装包,之后双击安装即可。
安装完成之后,打开终端,输入go、或者go[……]
笔者使用的是mac系统,因此介绍mac下golang的环境搭建。
1、安装Golang的SDK
google官网被墙下载地址如下: http://www.golangtc.com/download ,下载最新的安装包,之后双击安装即可。
安装完成之后,打开终端,输入go、或者go[……]
分布式架构解决的主要问题
现阶段,分布式架构能够解决很多确实存在的问题。第一个就是高可用。举一个简单的单机房高可用的例子,你肯定不希望因为一个磁盘损坏一个机器损坏一个交换机损坏,就导致整个系统的服务不可用了。第二个,就是在系统容量增长的情况下如何实现可伸缩。第三个是偏管理方面。如果能够让每个七[……]
PHP的数据库连接池一直以来都是一个难题,很多从PHP语言转向Java的项目,大多数原因都是因为Java有更好的连接池实现。PHP的MySQL扩展提供了长连接的API,但在PHP机器数量较多,规模较大的情况下,mysql_pconnect非但不能节约MySQL资源,反而会加剧数据库的负荷。
假[……]
MySQL数据库对每个客户端连接都会分配一个线程,所以连接非常宝贵。开发一个异步的MySQL代理服务器,PHP应用服务器可以长连接到这台Server,既减轻MYSQL的连接压力,又使PHP保持长连接减少connect/close的网络开销。
此Server考虑到了设置了数据库连接池尺寸,区分忙[……]
这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。
这里举个例子,假如我执行了一个PHP的脚本,如php test.ph[……]
一、日志系统
对于一个大型网站来说,代码库非常庞大,模块众多。部门协作的人数规模在百人以上,如何跟踪定位问题不像小网站那样容易。而且我们的服务器都是集群化的,动辄几千台。有一套可查询方便使用的日志系统至关重要。
对于日志的使用也有了一定的经验。我们的日志通常会非常详细的记录各种参数,环境变量[……]
最近发现有朋友争论这些话题,发现很多人对一些基础的常识并不了解,在此文做一下解释。此文未必能解答所有问题,各位能有一个大致的了解就好。
C10K的由来
大家都知道互联网的基础就是网络通信,早期的互联网可以说是一个小群体的集合。互联网还不够普及,用户也不多。一台服务器同时在线100个用户估计在[……]
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普[……]
PHP-FPM使用信号控制,master进程可以理解以下信号:
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例:
php-fpm 启动:
/usr/local/php/sb[……]
今天在做QQ互联时遇到 PHP 无法解析域名的问题,提示Warning: file_get_contents(): couldn’t resolve host name in错误。
首先在服务器上ping graph.qq.com不通,根据经验应该是DNS服务器设置问题。修改/etc/reso[……]