zoukankan      html  css  js  c++  java
  • 性能测试二十七:环境部署之Dubbo原理

    Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。

    Dubbo是框架,并不是像http那种传输协议

    传统系统间通信方式:

    系统A和系统B之间耦合性非常大,系统A配置文件里面基本会把系统B的所有接口写进去,若果系统B有多个tomcat,中间还得配个Nginx,若经常有机器增减,Nginx配置也要经常改,扩展起来非常麻烦

    如果A系统要调用B系统里面的函数,只能通过http接口去调,数据传输需要转换成json,返回来再把json转成对象,而转json对性能损耗非常大

     比如:JdbcTest(系统A)要去调JavaVuser(系统B)下的JdbcTest里面的方法

     Dubbo框架

    zookeeper的作用:

    1、配置管理

    2、负载均衡

    可以把zookeeper理解为一个类似于mysql的数据库,主不过里面存的不是表,而是系统B的ip、端口号、url

    当项目B启动的时候,会自动的把项目B的ip、端口号、url全部写入到zookeeper中

    当A需要调B里面的接口的时候,就不用去连接B,只需要去zookeeper找到B接口,再去找ip、端口号,然后通过TCP进行通信,而不是http

    当同一个接口,有多个ip和端口号的时候(项目B布了多台机器),zookeeper也是采用轮询的策略

    所以,Dubbo框架中,就用zookeeper,不需要使用Nginx

    想要使用Dubbo框架,需要系统A和系统B去zookeeper里面写入数据(可以把此过程叫注册),留下ip、端口号

    所以每Dubbo框架里面,每一个系统都有一个配置文件,配的是zookeeper的ip和端口号

     zookeeper有一个心跳机制,如系统B部署了5个机器,zookeeper每秒钟检测一次,发现有3台机器没有响应了,就视为挂了,会自动去掉这几个的ip

    zookeeper提供了一个管理工具:dubbo-admin,类似于navicat连接数据库一样

  • 相关阅读:
    Struts2学习笔记(四) Action(中)
    Struts2学习笔记(十) OGNL
    asp.net连接Access数据库。一般都怎么连有几种连法
    网络跃迁——C/S到B/S的“惊世一跃”
    用ASP打开远端MDB文件的方法
    solution to DreamweaverCtrls.dll
    for debugging on site,the web.config should be edited as follows
    For web.config setting,reference the book of
    1. need mssql connection method for dotnet vhost,etc
    蔡学镛推荐的编程语言REBOL编程初体验
  • 原文地址:https://www.cnblogs.com/malinalian/p/10583089.html
Copyright © 2011-2022 走看看