简介
开源、高性能、基于TCP均衡负载器、HTTP应用反向代理器;HAproxy是均衡负载和反向代理器,ha名字源于其可以对后端进行健康检查,保证后端的可用性。
HAproxy 1.2.5以上版本2.6以上内核支持epoll,基于事件驱动的单进程多路复用模型,具有很强的并发能力。
简介
开源、高性能、基于TCP均衡负载器、HTTP应用反向代理器;HAproxy是均衡负载和反向代理器,ha名字源于其可以对后端进行健康检查,保证后端的可用性。
HAproxy 1.2.5以上版本2.6以上内核支持epoll,基于事件驱动的单进程多路复用模型,具有很强的并发能力。
现在,大部分App的接口都采用RESTful架构,RESTFul最重要的一个设计原则就是,客户端与服务器的交互在请求之间是无状态的,也就是说,当涉及到用户状态时,每次请求都要带上身份验证信息。实现上,大部分都采用token的认证方式,一般流程是:
最近公司买了台 阿里云主机(CentOS 6.8),按照惯例,需要配置一下 常用的开放的端口,在文件 /etc/sysconfig/iptables 中配置一下即可。
但是,竟然没有找到该文件(2年前买的阿里云主机是有的)。
码农周刊分类整理,《App后台开发运维和架构实践》,《亿级流量网站架构核心技术》 与网友互动,
公众号:架构师之路 (作者: 58沈剑)
UML与Enterprise Architect 7.5团队开发使用手册
一个业务函数/方法执行后,对外输出数据的结构通常有以下几种:
1、返回数字,如 成功时返回 0,失败时返回 -1,有的还会用一个全局变量输出错误信息:
<?php
class UserLogic extends \Think\Model {
protected $error;
/**
* 更改用户名称
*
* @param int $userId 用户ID
* @param string $userName 用户名
* @return int -1: 操作失败, 0: 操作成功
*/
public function updateUserName($userId = 0, $userName = '') {
if (empty($userId)) {
$this->error = '用户ID不能为空';
return -1;
}
if (empty($userName)) {
$this->error = '用户名不能为空';
return -1;
}
$where = array(
'userId' => $userId
);
$data = array(
'userName' => $userName
);
$res = $this->where($where)->save($data);
if ($res !== false) {
return 0;
}
return -1;
}
}
图片服务器被独立出来之后,会面临两个选择,主流的方案是前端采用Nginx,中间是PHP或者自己开发的模块,后端是物理存储;比较特别一些的,比如Facebook,他们把图片的请求处理和存储合并成一体,叫做haystack,这样做的好处是,haystack只会处理与图片相关的请求,剥离了普通http服务器繁杂的功能,更加轻量高效,同时也使部署和运维难度降低。
电商的秒杀和抢购,从技术的角度来说,会对Web系统产生巨大的考验。本文带大家关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因。