`
chenkangxian
  • 浏览: 86593 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
  详情见该文: http://geek.csdn.net/news/detail/59260
对于comet长连接来说,服务端如有内容需要发送给客户端时,服务端将原本占用的连接进行回复,此时原有的连接断开,重新发起长连接,直到服务端有内容响应。从每次消息发送到收到服务端消息应答,平均需要两次HTTP请求,一次请求将消息内容提交到服务端,另外还需保持一个长连接,当服务端有内容响应时,及时发回响应,可以通过一个简单的案例来进行介绍: GET /testwebsocket/conn?cmd=revival&cid=c6e2f82f-edb1-4b61-ba68-0d5c65d92d5e&ram=0.95148686459288 HTTP/1.1 Host: www.bb ...
---应CSDN编辑钱曙光先生之邀请,发表了一些对于网站架构设计的看法,也是最近的一些感悟,欢迎留言交流   大型网站架构从来都不是一个预先定义的架构,而是一个演进式的架构。很少有一个网站从建站开始,就能够因具 ...

复活贴

有人在问,个人博客为何很长一段时间没有更新了,这是由于13年和14年主要的业余时间放在新书上,而15年因为家庭的原因及工作的调整,平时除学习之外的自由时间有限,后续将满血复活,继续保持博客的更新,大家敬请期待。
第1章 面向服务的体系架构(soa) 1  本章主要介绍和解决以下问题,这些也是全书的基础:  http协议的工作方式与http网络协议栈的结构。  如何实现基于http协议和tcp协议的rpc调用,它们之间有何差别,分别适应何种场景。  如何实现服务的动态注册和路由,以及软负载均衡的实现。  1.1 基于tcp协议的rpc 3  1.1.1 rpc名词解释 3  1.1.2 对象的序列化 4 
解决办法: Window --> Preferences --> General --> Appearance --> Colors and Fonts --> Basic --> Text Font --> Edit 然后!为什么注释变小了呢?原来不是字体大小问题,是字体问题! eclipse新版的字体是Consolas,而老版本的是Courier New,改了字体,就正常了。
详见ppt(使用libreoffice打开)
--转载自《程序员》2013年第2期 前言:随着移动互联网的兴起以及restful和web service的大规模使用,http协议因其使用方便以及跨平台的特性,在web开发以及SOA领域得到了广泛使用。但其所涵盖的信息,大都是未经加密的明文,信息获取门槛的降低,也为应用架构的安全性及稳定性带来了挑战。   对于常规的web攻击手段,如xss、crsf、
前段时间在团队内部做了一次关于并发以及流量控制原理与实施的分享,今天花时间整理了下,分享给大家,同时也希望大家多提宝贵意见,共同进步。 说到java并发,不得不提一下java的线程模型 Java的线程模型 Java的并发实际上是在thread的基础上实现的,因此,说到并发限流的原理,不得不谈到java线程的五种状态之间的转换
什么是Base64? 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 为什么要使用Base64?在设计这个编码的时候,我想设计人员最主要考虑了3个问题: 1.是否加密? 2.加密算法复杂程度和效率 3.如何处理传输?     加密是肯定 ...
  前言:WEB2.0的时代格局下,信息越来越发散,搜索越来越智能,内容越来越丰富,互动越来越频繁。随着团购、社区、微博不断崛起,互联网已经深入人心。用户规模的不断扩大,新业务的不断开拓,直接导致系统规模不断膨胀。在这种情况下,如何来保障分布式系统构建的稳定性与高性能呢?   --本文作者chenkangxian,引用请标明出处 http://chenkangxian.iteye.com/blog/1674198   冰冻三尺,非一日之寒,构建一个健壮的分布式网络环境,并非一蹴而就的事情,而是经过漫长的演变,一次次的血泪宕机之后,才逐渐形成的一个相对稳定的架构。一个稳健成熟的分布式系统 ...
awk用法通用格式:awk 'pattern {action}'  file                 cmd | awk 'pattern {action}'如果没有pattern,则对所有行都采用action,如果没有action,则打印匹配行。在pattern中可以使用各种定义的变量$0,,NF,NR等. 工作原理:awk 扫描一行,放入变量$0中,然后行被分隔成各个域,以指定的分隔符进行分离,默认为空格,可以通过参数FS指定。各个域都存于变量$i中,至多100个域。 awk -F : '{print $1}'  /etc/passwd         打印所有用户名 格式化输出:  ...
  在java中,如果一个变量需要被多个线程访问,可以使用volatile来声明它为“易变的”。而假如一个变量要被持有它的某个线程独享,在java中,它可以使用java.lang.ThreadLocal类来实现线程本地存储的功能。这样,数据便只在同一个线程内可见和共享,因此,即便不同步也能保证线程之间不出现数据争用。 ThreadLocal使得各线程能够保持各自独立的一个对象,通过ThreadLocal.set()来设置对象的值,保存在每个线程自己都有的一个map对象当中,每个ThreadLocal对象会有一个线程范围内唯一hashcode作为key,ThreadLocal.get()内部通 ...
  为了降低开发成本,提升已有系统的利用率,企业往往会构建自己的SOA体系结构,SOA构建的手段有多种,可以通过webservice,restful,rmi,socket等等,笔者通过java socket,来构建一个简单的SOA体系结构,以下代码仅供参考。     1.  需要实现SOA的服务接口   package com.chenkangxian.rpc.impl; /** * * @Author: chenkangxian * * @Annotation: 根据key取数据接口 * * @Date:2012-5-13 * * @Copyr ...
  zookeeper是hadoop下面的一个子项目, 用来进行分布式系统之间的相互协调。 在zookeeper源码包的recipe目录下有一个互斥锁lock的实现范例,笔者对其简要包装,以便看起来更为明了:   package org.apache.zookeeper.recipes.lock; import java.io.IOException; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.Z ...
Global site tag (gtag.js) - Google Analytics