客户C通过WebService A 访问 WebService B 的数据,
       C--->A--->B
其中C和B都是其他应用程序或服务器,是其它公司或个人的,
如果先把数据从B传送到A,再传送到C,必然浪费大量的
网络和服务器资源,如果能只把C的请求经过处理发送到B,
然后B直接把数据送到C,最节省资源。问题是B和C要建立连接
才能做到直接传送数据。怎样才能做到尽可能不改变B和C,由A来承担数据访问中转业务?
请找出最佳方案!

解决方案 »

  1.   

    B和C必须要建立连接,否则A还是很忙
      

  2.   

    如果b和c之间不能直接连接
    则需要增加a的cache
    另外尽量不要让a处于繁忙状态 
    以提高转发效率
      

  3.   

    先测试由C--->A--->B运行,如果太慢的话,只能修改成由C--->B,或者再做一个和A一样的类库在客户端,由C调用了
      

  4.   

    要经过A到B目的是什么?
    如果是得到B的相关信息,哪么得到后,直连B不行吗?
    A和B是webservie,所以应该是直接可以访问的,不存在端口映射的问题如果非要转发,发送数据要求给A -> A发送传送数据到C的命令给B,与此同时,发送请求数据给C,C请求B已经准备好的数据
      

  5.   

    為何不這樣呢  既然 A->B 為何不改為C->B?
    原來的通道 C->A,A->B,B->A,A->C
    修改後 C->A,A->C,C->B,B->C
    這樣無需中轉
      

  6.   

    C--->A--->B
    必须中转,这是商业模式决定的。但希望中转的不是数据,
    而只是把连接信息转接。
    可以想象C是A的客户,B是A的服务提供商,
    换句话说,A是中介,所以要尽量减少C和B的
    接口复杂性,但又不能让A消耗太多资源。要保证连接转接,ABC间的接口如何简化?,请高手积极讨论。
      

  7.   

    a在这里面只做一个转发,还起个日志的作用    c 请求 a  (带入参数接收地址)
        a 写库,转发至 c
        b 直接返回 至传入的地址