博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分布式系统之通信技术学习
阅读量:6490 次
发布时间:2019-06-24

本文共 1368 字,大约阅读时间需要 4 分钟。

hot3.png

分布式系统之通信技术学习(导师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

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

             

                     

      

转载于:https://my.oschina.net/osenlin/blog/518682

你可能感兴趣的文章
java servlet简介-01
查看>>
中文乱码问题的处理
查看>>
Windows10 远程桌面连接失败,报CredSSP加密oracle修正错误解决办法
查看>>
egit在pull的时候出错
查看>>
ReST Editor下载
查看>>
MyEclipse快捷键整理
查看>>
Fedora gedit 打开txt文件乱码
查看>>
泛型(Generic)
查看>>
预解析:var散布的问题
查看>>
cuda&vs2010的属性配置
查看>>
【前端开发系列】—— CSS3属性选择器总结
查看>>
Redis初级介绍
查看>>
iPhone开发 多点触控的问题
查看>>
正则验证×××
查看>>
揭秘PostgreSQL:21位专家技术分享合集
查看>>
循环滚动视图
查看>>
python实现文件下载的方法总结
查看>>
Js获取当前日期时间及其它操作
查看>>
Bookmarking Widget插件,ZenCart插件
查看>>
mysql中输入中文数据报错Incorrect string的解决方法
查看>>