刨根问底 HTTP 和 WebSocket 协议(下)

刨根问底 HTTP 和 WebSocket 协议(下)

发表于1年前 | 作者: Kar Chan | 分类: web技术 | 流行热度: 304 views°

0
HTML5的新成员:WebSocket 上篇介绍了HTTP1.1协议的基本内容,这篇文章将继续分析WebSocket协议,然后对这两个进行简单的比较。 WebSocket WebSocket协议还很年轻,RFC文档相比HTTP的发布时间也很短,它的诞生是为了创建一种「双向通信」的协议,来作为HTTP协议的一个替代者。那么首先看一下它和HTTP(或者HTTP的长连接)的区别。 为什么要用 WebSocket 来替代 HTTP 上一篇中提到WebSocket的目的就是......

linux 组调度浅析

发表于1年前 | 作者: Kar Chan | 分类: 操作系统 | 流行热度: 259 views°

0
 cgroup 与组调度 linux内核实现了control group功能(cgroup,since linux 2.6.24),可以支持将进程分组,然后按组来划分各种资源。比如:group-1拥有30%的CPU和50%的磁盘IO、group-2拥有10%的CPU和20%的磁盘IO、等等。具体参阅cgroup相关文章。 cgroup支持很多种资源的划分,CPU资源就是其中之一,这就引出了组调度。 linux内核中,传统的调度程序是基于进程来调度的。假设用户A和B共用一台机器,这......

Linux 进程状态浅析

发表于1年前 | 作者: Kar Chan | 分类: 操作系统 | 流行热度: 296 views°

0
 众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。linux就是这样的一个操作系统。 在linux系统中,每个被运行的程序实例对应一个或多个进程。linux内核需要对这些进程进行管理,以使它们在系统中“同时”运行。linux内核对进程的这种管理分两个方面:进程状态管理,和进程调度。本文主要介绍进程状态管理。 进程状态 在linux下,通过ps命令我们能够查......

刨根问底 HTTP 和 WebSocket 协议(上)

发表于1年前 | 作者: Kar Chan | 分类: web技术 | 流行热度: 236 views°

0
HTTP vs WebSocket 那天和boss聊天,不经意间提到了Meteor,然后聊到了WebSocket,然后就有了以下对话,不得不说,看问题的方式不同,看到的东西也会大不相同。 A:Meteor是一个很新的开发框架,我觉得它设计得十分巧妙。 B:怎么个巧妙之处? A:它的前后端全部使用JS,做到了真正的前后端统一;前端浏览器里存有一份后台开放出来的数据库的拷贝,快;使用WebSocket协议来做数据传输协议,来同步前后......

9 个使用前必须再三小心的 Linux 命令

发表于1年前 | 作者: Kar Chan | 分类: 操作系统 | 流行热度: 272 views°

0
Linux shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹、文件或者路径文件夹等被删除。 在一些情况下,Linux 甚至不会询问你而直接执行命令,导致你丢失各种数据信息。 一般来说在 Web 上推荐新的 Linux 用户执行这些命令,当然,也有人哪些写过这代码的人不这么想,因为这玩意你一写下去就不是玩笑了。 这里我收集了一些对系统有危害的 Linux 代码,帮助你避免他们。请记住:这些代......

HTTPS 工作原理和 TCP 握手机制

发表于1年前 | 作者: Kar Chan | 分类: web技术 | 流行热度: 266 views°

0
 1、HTTPS的工作原理 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的具体描述如下: 1.浏览器将自己支持的一套加密规则发送给网站。 2.网站从中选出一组加密算法与HASH算法,......

奇葩的ORA-22992错误

发表于1年前 | 作者: Kar Chan | 分类: 数据库技术 | 流行热度: 265 views°

0
不同的数据库集成数据一般都会用到DB Link, 使用DB Link,我们就能像查询本地数据一样方便的查询远程数据库上的数据。但在某些时候,使用DB Link出的问题可能会让你摸不着头。 且看案发现场: 新的监控告警平台要对告警做一些丰富,数据来源是CMDB,需要将告警所需的必要字段同步到告警平台数据库的表中。这个事情做起来比较简单,在告警平台的数据库中新建一个DB Link连接到CMDB数据库定时抽取数据即可......

关于自动化配置还有什么好说的呢?

发表于1年前 | 作者: Kar Chan | 分类: 监控&自动化 | 流行热度: 258 views°

0
最近我们团队正在将生产环境的配置进行自动化。简单地说就是使生产环境在任何地方都可以快速的搭建起来,比如程序员在自己的机器上,公司内部的机器上,还有云上。 本文就是想阐明为什么要自动化配置。 进行配置自动化的这个过程,我发现,问题不在于程序员懂不懂Ansible、Chef、Puppet这些自动化配置工具的使用。 问题在于对“配置”本身的理解。我甚至发现还有运维人员也不能理解为什么要将配置自动化......

老司机使用 Redis 缓存复杂查询

发表于1年前 | 作者: Kar Chan | 分类: web技术 | 流行热度: 268 views°

0
最近上线了一个复杂的报表, 这个报表后面是一个几百行的 sql 查询,很不幸但又是预料之中, 这个 sql 查询性能非常低下,并且需要在网站的一个访问量非常大的页面显示这个 sql 的查询结果。幸运的是这个查询结果不需要 实时更新,只要每天更新一次即可, 于是为这个 sql 查询加上缓存就成为了一个很好的优化方法。开始我们使用 Rails.cache 来缓存这个查询结果,Rails.cache 的 backend 配置如下: ......

分布式锁(1):Java 常用技术方案

发表于1年前 | 作者: Kar Chan | 分类: 脚本编程 | 流行热度: 255 views°

0
 前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题。所以自己结合实际工作中的一些经验和网上看到的一些资料,做一个讲解和总结。希望这篇文章可以方便自己以后查阅,同时要是能帮助到他人那也是很好的。 正文: 第一步,自身的业务场景: 在我日常做的项目中,目前涉及了以下这些业务场景: 场景一: 比如分配......