分布式系统之通信技术学习

分布式系统之通信技术学习(导师leaderus)

1,几种常见的通信技术

    1,RPC

         18221100_AlL0.jpg

        RPC是建立在socket通信基础之上的,采用ascii编码代替普通的字节流,从图中可以看出RPC的过程

   2,远程数据共享

        常见的有FTP,到进来流行的zookeeper

   3,消息队列

        结构模型简单,可以轻松实现客户端多语言支持,在现在系统中运用很广,基本上每个分布式系统都存在消息队列。一般可以配合RPC使用

2,RPC通信技术原理

        211834_7VrJ_1262585.png

              1,服务端设置监听端口,监听客户端发起的链接和调用

                2,监听端口监听到请求,放到call队列

                3,handler定时到call队列去处理请求

                      如果不能一次性发送完所有的数据,会将未发送完的响应发送给responder

                客户端:

                 1, 客户端调用线程发起链接和call调用

                 2,同步等待响应

 3 RPC架构图

         212036_bznS_1262585.png

     1,服务提供这在远程调用管理组建注册信息

     2,管理组建定时像服务提供者发送心检测和注册通知

     3,服务调度者像管理组建发送请求,管理组建像服务调度者提供可供服务的远程服务

     4,实现远程调度

    这是一个RPC通信框架的核心,这是一个衡量RPC通信通信框架完整与否的重要考量

4  几种常用的RPC技术和框架

     212720_26oo_1262585.png

        1,j2ee 采用RMI通信协议,不够通用

         2,zeroc ice和阿里的duboo都采用custom socket通信(二进制传输性能较高)

         备注:thrift支持多语言的一个高性能RPC通信框架,

                    dubbo,阿里开源的RPC平台,具有相对完善的生产环境组建,服务注册,负载均和,管理和监控工具,

                    但是只支持java于sping捆绑密切

                   zeroc ice,rpc平台,多语言跨平台,具有相对完善的生产环境组建,服务注册,负载均衡,管理和监控工具

 5 几种RPC通信的技术实现

        1 corba

            213400_Lm01_1262585.png

        corba用idl定义了客户端和服务的对象接口

     2 webservice/soa

     3 Rest

        采用了http通信,传输的采用json,xml,atom,rss定义一个接口,不用像corba,webservice定义一个静态类生成大量的中间类,可以轻松实现多语言的调用

        但是想比于传统的socket通信,效率不高,而且也不安全

      3 zeroc ice rpc

         跨平台/夸语言,性能较高,安全

6 zeroc ice 

        1,提供客户端和服务端的多语言注册

        2,zeroc icegrid介绍

               1,将部署和服务注册放到一起

                215609_LZfg_1262585.png

             2,zeroc ice的服务路由和负载均衡

                      每个node是一个独立进程组建,负责启动本机上的多个ice server

                       不同node上的相同的server服务实例组成一个Replication Group,并可以定义负载均衡策略,比较常用的是轮训方式以及基于机器负载的策略。

                   可以不同的服务定义不同定义不同的策略。

                        平台很具负载均衡策略返回一可用的地址列表,客户端缓存这个地址,供后继的服务访问中使用,当缓存超时或者地址不可用重新获取服务地址。  

                    220936_UrAe_1262585.png  

7,zeroc ice 运用到基于服务总线系统的常规框架

        下图是服务总线的架构图

            220514_BaaN_1262585.png

         从上图可以看出有三个关键组建,负载均衡,服务目录组成,服务提供提供者。

             

                     

      


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值