Changes between Version 1 and Version 2 of Intro


Ignore:
Timestamp:
04/07/2013 12:27:39 PM (13 years ago)
Author:
chenchongqi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Intro

    v1 v2  
    11原文出处:http://bbs.pconline.cn/topic-2065.html 
    22 
    3 R 系统白皮书 
     3R 系统白皮书[[br]] 
    44============ 
    55 
     
    88 
    99 
    10 是什么? 
    11 ======= 
     10是什么?[[br]] 
     11=======[[br]] 
    1212R 系统是系统之间进行HTTP调用的一个统一的接口,封装了调用网络路由,HTTP调用和 
    1313结果缓存三大模块,是对于系统之间HTTP调用多年经验的一个整理总结的结果 
    1414 
    1515 
    16 为什么? 
    17 ======= 
     16为什么?[[br]] 
     17=======[[br]] 
    1818在日常的开发中,系统之间进行HTTP调用是经常遇到的情况,但是要用好它并不是一件容 
    1919易的事情,因为实际情况中WEB 是一个[非可靠]的[分布式网络]系统,调用过程中要解决 
     
    2121 
    2222 
    23 需求 
    24 ==== 
     23需求[[br]] 
     24====[[br]] 
    2525经过慎密的分析,R 系统要解决一下问题: 
    26261.  端到端的调用路由和负载均衡,自动化的路由表更新 
     
    2929下面的使用场景说明会一步一步的说明各需求的应对情况 
    3030 
    31 使用前准备 
    32 ========== 
    33 R 系统需要JDK6的版本 
     31使用前准备[[br]] 
     32==========[[br]] 
     33R 系统需要JDK6的版本[[br]] 
    3434resin/lib下需要放r-route-1.2.jar 
    3535 
    36 应用的WEB-INF/lib下需要放r-1.2.jar 
    37 还要: 
    38 memcached客户端2.0.1以上 
    39 log4j-1.2.x以上 
    40 commons-codec-1.4以上 
    41 commons-logging-1.1.1以上 
    42 httpcore-4.1以上 
    43 httpclient-4.1.1以上 
     36应用的WEB-INF/lib下需要放r-1.2.jar[[br]] 
     37还要:[[br]] 
     38memcached客户端2.0.1以上[[br]] 
     39log4j-1.2.x以上[[br]] 
     40commons-codec-1.4以上[[br]] 
     41commons-logging-1.1.1以上[[br]] 
     42httpcore-4.1以上[[br]] 
     43httpclient-4.1.1以上[[br]] 
    4444 
    4545通常和spring一起使用 
    4646 
    4747 
    48 使用场景 
    49 ======== 
    50  
    51 1.  路由配置 
     48使用场景[[br]] 
     49========[[br]] 
     50 
     511.  路由配置[[br]] 
     52{{{ 
    5253------------ 
    53 {{{ 
     54 
    5455                            +----------+ 
    5556                    +-------| server-1 | ip:port 
     
    9798------------------------------------------------------------------------------ 
    9899}}} 
    99 proxy 可以将对于域名的调用代理到公网,方便开发测试环境 
     100proxy 可以将对于域名的调用代理到公网,方便开发测试环境[[br]] 
    100101routes用于指定要使用开发、测试环境的那些机器来进行测试 
    101102 
     
    109110 
    110111 
    111 2.  HTTP调用(无缓冲) 
    112 --------------------- 
     1122.  HTTP调用(无缓冲)[[br]] 
    113113cn.pconline.r.client.SimpleHttpTemplate 是HTTP调用的核心类,以模版方法的模式方便 
    114114的进行HTTP调用,通常需要配置为采用route 进行路由,有多种get 和post方法提供使用, 
     
    296296 
    297297 
    298 故障情景分析 
    299 ============ 
     298故障情景分析[[br]] 
     299============[[br]] 
    300300以前我曾经将HTTP服务的状态分为四种情况:死、慢、错、对,只有第四种才是好的服务 
    301301状态,前三种都属于故障,下面我们分析一下R 系统是怎么应对这三种故障状态的