分类 架构 下的文章

http2

HTTP/2(最初名为 HTTP/2.0)是 WWW 使用的 HTTP 网络协议的主要版本。 它来自早先由 Google 开发的实验性 SPDY 协议。 HTTP/2由互联网工程任务组的超文本传输协议工作组 httpbis(其中 bis 表示“第二个”)开发。 HTTP/2是 HTTP 1.1以来的第一个新版本,于1997年在 RFC 2068中进行了标准化。工作组于2014年12月向 IESG 提交了 HTTP/2作为建议标准的审议意见,IESG 批准其发布为提议 标准于2015年2月17日发布。HTTP/2规范于2015年5月发布为 RFC 7540。

Chrome,Opera,Firefox,Internet Explorer 11,Safari,Amazon Silk 和 Edge 浏览器支持标准化工作。 到2015年底,大多数主流浏览器都增加了对 HTTP/2 的支持。

分布式 or 集群?

为支撑一个中大型网站所搭建架构时,会选用一些技术栈。比如在多个 web 服务器前使用 LVS 做负载均衡,使用 keeplived 实现 LVS 高可用,在多个 Mysql 从节点前使用负载均衡器,Mongodb 使用复制集方式,使用 twemproxy 管理多个 Redis 节点,Mysql、Mongodb、Redis 做主从同步,使用 Hadoop 管理大数据,对 Mysql 分库分表分区,Mongodb 分片,多实例Memcached,按业务将服务划分等等。这些都是通过使用多个节点来响应请求、计算、存储从而应对访问量高、并发请求大、数据量大的问题。具有这种特征的架构我们称作为“分布式服务器集群架构”。

LNMP 架构网站全链路调优

在基于 lnmp 架构做网站或者提供应用接口时,在生产环境能正常工作后我们就会面对永无止境的优化,优化,再优化处境。一个网站慢的原因五花八门,每一处技术的使用不当都可能是响应时间不理想的罪魁祸首。接下来将从一个用户点开一个链接或打开一个应用到与服务端的交互的一个链路来整理那些我们能轻松做到的调优方法。

简单理解 RPC

RPC(Remote Procedure Call Protocol)—— 远程过程调用协议。这个概念术语在上世纪 80 年代由 Bruce Jay Nelson 提出。它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 协议假定某些传输协议的存在,如 TCP 或 UDP,为通信程序之间携带信息数据。在 OSI 网络通信模型中,RPC 跨越了传输层和应用层。RPC 使得开发包括网络分布式多程序在内的应用程序更加容易。

RPC 采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

给网站戴上安全帽

网站的安全性总是那么让人费神,一不小心就被攻击了,比如 SQL 注入,挂马,XSS 攻击,CSRF 攻击,请求劫持等等。本文将针对 lnmp 架构网站的安全性提高提供一些简单的有效措施来防范。