zoukankan      html  css  js  c++  java
  • Motan学习开篇

                                                            你已经走到这里了,后面只要耐心的走下去就行了。   --佚名

          入职新公司以后,公司使用dubbo框架,简单的照葫芦画瓢之后,也算是入手了,但是其中内部的实现的机制一概不懂。我单纯的有种好奇心,觉得每个框架都是结构精密的仪器,研究了一个月后总结一下,学到的东西。之所以题目叫motan而不是dubbo,一来看motan代码总共2万行,测试代码1万多行,觉得够简单.二是已经在微博平台大量实用。三来:写本文的时候近期还更新。最起码让我觉得他还活着。相比而言: dubbo更复杂,更老。  哈哈哈哈哈哈哈哈哈哈哈哈哈。

    • motan是什么?

       motan是RPC框架和服务治理框架。

    •    RPC和服务治理又是啥?

        rpc就是Remote Procedure Calls,简单来说就是调用远程对象的方法。  调用远程对象的方法必然需要通信,因此需要通信框架, motan选取高效的NIO框架, netty。

       服务治理:一个服务可以认为就是一个具体的方法(实际对应一个类,就是provider),服务治理可以认为是服务管理,我们的有很多服务可以调用,比如:查询天气预报的,交水电费的等等,而且一个服务可能有很多服务器提供,比如查天气预报,你可以通过网络,短信等形式查询。 现在有这么多服务,这么多服务提供者。查询者要记住这么多服务地址实在复杂。并且可能由于一些服务房会停止服务,或者变更服务的地址,查询者需要获取最新的服务地址。所以需要服务注册中心。motan选用zookeeper,消费者端订阅,提供者端注册,看看zookeeper的发布订阅了解了

       如何使用

      基于 Spring配置,配置成自定义bean,比如注册中心的bean,服务提供者的bean,消费者相关bean等,对于这些自定义bean需要编写自定义 bean的解析器,获取对应的对象,具体的实现在motan-springsupport。实现代码中其实就是几个简单的类。先看看图一源码的目录结构感受一下。

      图1:motan的目录结构图

           

           

                    

      

  • 相关阅读:
    mybatis-generator自动生成代码时,只生成insert方法
    elasticsearch-head-master下运行npm install报npm WARN elasticsearch-head@0.0.0 license should be a valid SPDX license expression
    fs.default.name和fs.defaultFS
    zookeeper集群为什么要是单数
    Quorom机制
    把数据库放入Docker是一个好主意吗?
    JVM GC算法CMS详解
    JVM之——CMS
    对于TCP/IP协议的三次握手和四次挥手的理解
    JVM G1和CMS
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/5606024.html
Copyright © 2011-2022 走看看