背景以及说明:

最近逮到个RPC框架,打算深入学习,框架千千万,只有懂得内部原理,才能应对复杂的业务,进行自定义化系统。

这个系列的Motan文章也是自己慢慢摸索的轨迹,将这个过程记录下来,一是提升自己对框架的理解,二是让大家看到这个过程,解决心中学习的困惑,三是由于网上Motan的文章,大多感觉没有写的足够深入,自己想学习又找不到很好的东西,干脆,自己写,撸起膀子开干。

本篇目标:

了解Motan基本知识,搭建Motan Demo,对Zookeeper有个初步的认识。

1.概要

Motan是微博的框架,没有比官方介绍的更准确的了,直接上链接,http://tech.sina.com.cn/i/2016-05-10/doc-ifxryhhh1869879.shtml

对里面的东西有个大体认识就行,主要是Motan架构及模块设计下面的两张蓝色的图需要着重有个认识,困惑也没关系,带着困惑往后走。

2.tutorial --Motan Demo

新项目要干的第一件事,helloWorld.  还是贴个链接,因为别人写了一遍比较详细的文章,没必要再弄了。

https://blog.csdn.net/linuu/article/details/53115290

我照着做了,可以成功的做出来。照着文章中的东西,将Demo搭建起来。

需要注意的地方有如下几个:

(1)自己动手下载Motan源代码,因为需要编译后生成的xsd文件,以及后面学习时需要看源代码;

(2)motan-manager的war包,这里可以越过,因为它就是个页面管理端;

(3)我编译源码时遇到的第一个错,maven-javadoc-plugin XXXXXXXXXXXXX  什么什么的错误信息,意思是说源码的javadoc有问题,不规范。我的解决办法是直接将motan工程中的pom.xml文件中maven-javadoc-plugin那里的<profile>标签,整块注掉

(4)后续编译出现几处错误,都是test类的错误,直接将test类中的内容注释掉就可以了,简单粗暴,我喜欢

入门Demo有些短小精悍,不过成功跑出来就可以了。相信大家都成功搭建了,信心满满的进入下一篇吧!如果Demo没搭建成功,千万不要往后看,小心走火入魔!

当时走到这里时,袋鼠信心爆棚,心想不过如此,so easy!

3.Zookeeper

它能做很多事,其中一个功能就是作为注册中心。这个,是我们这次所关注的。(其余介绍百度搜一下,自己解决)

推荐下列文章:

Zookeeper用作注册中心的原理  https://www.jianshu.com/p/68a05b5af088

基于ZooKeeper的服务注册中心  https://www.cnblogs.com/valor-xh/p/6281502.html

如果之前对rpc框架没有了解的话,zookeeper的部分,可以读读上面两篇文章,帮助后面的理解。

Zookeeper官网 https://zookeeper.apache.org/

深入学习Motan系列(一)——入门及知识zookeeper储备的更多相关文章

  1. 深入学习Motan系列(五)—— 序列化与编码协议

    一.序列化 1.什么是序列化和反序列化? 序列化:将对象变成有序的字节流,里面保存了对象的状态和相关描述信息. 反序列化:将有序的字节流恢复成对象. 一句话来说,就是对象的保存与恢复. 为什么需要这个 ...

  2. 深入学习Motan系列(四)—— 客户端

    困惑的袋鼠,对框架的把握有些茫然,但是仍然一步步向前,行动总比一直迷茫停止不前要好,您说呢,各位客官? 这篇开始客户端的分析.有些地方的代码,就不每段都标出了,中间有跳跃的地方,请自己对照代码来看.鄙 ...

  3. 深度学习Dubbo系列(入门开篇)

    此文档为系列学习文档 这系列文档详细讲解了dubbo的使用,基本涵盖dubbo的所有功能特性.在接下来的文章里会详细介绍. 如果你正依赖dubbo作为你业务工程的RPC通信框架,这里可以作为你的参考手 ...

  4. 深入学习Motan系列(二)——服务发布

    闯关经验: 袋鼠走过了第一关,顺利搭建出了Demo,信心爆棚.不过之后,心想怎么去研究这个框架呢.查了一下,官方文档,好像没什么东西可以研究啊.后来,又搜了搜博客,因为这是微博的框架嘛,所以搜索时用百 ...

  5. 深入学习Motan系列(三)——服务发布

    袋鼠回头看了看文章,有些啰嗦,争取语音简练,不断提高表达力!袋鼠奋起直追! 注:此篇文章,暂时为了以后时间线排序的需要,暂时发表出来,可是仍然有许多地方需要改写.自己打算把服务端发布,客户端订阅都搞定 ...

  6. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  7. 超全PHP学习资源整理:入门到进阶系列

    PHP是少数几门在语言层面饱受诟病,但在实际开发和应用上却又让人无法撒手的语言之一.就好比路边摊小吃,一遍骂人家不卫生,一遍却又说:真香.所谓接地气,不外如此,大道理不说,PHP光是轮子多.市场占有率 ...

  8. MyBatis学习总结-MyBatis快速入门的系列教程

    MyBatis学习总结-MyBatis快速入门的系列教程 [MyBatis]MyBatis 使用教程 [MyBatis]MyBatis XML配置 [MyBatis]MyBatis XML映射文件 [ ...

  9. 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...

随机推荐

  1. global 全局变量 nonlocal 局部变量

    # x= # def func(): # x= # # func() # print(x) # x=[] # def func(): # x.append() # x.append() # x.app ...

  2. xadmin自定义关联菜单

    网上好多自定义xadmin后台数据很少有关怎样设置外键关联菜单的显示,如下图所示: 现有个需求根据model中status字段值,来显示关联菜单三道杠,如上图app状态只有是审核成功才会显示,未审核不 ...

  3. 离线安装docker镜像

    假如由于网络原因,需要在一台无网络的电脑上运行镜像,那么docker是支持的. 你需要做的主要有3步骤: 1:先从一个有网络的电脑下载docker镜像 sudo docker pull ubuntu ...

  4. RabbitMQ Dead Lettering(死信)

    死信,顾名思义,就是死掉的消息,死掉的消息是会被一般的队列丢弃的.如果这些消息很重要,而我们又需要,怎么办?凡事都有一个退路,现在就有一种方法可将这些死信消息存下来,那就是DLX(Dead Lette ...

  5. [Leetcode 101]判断对称树 Symmetric Tree

    [题目] Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). ...

  6. Bluedroid: 音频数据的传输流程

    一. UIPC:   Audio Flinger获取到a2dp的hw module,然后蓝牙协议栈有专用于发送和接收media数据的线程,名称:btif_media_task.   蓝牙与Audio的 ...

  7. box-shadow 边框阴影

    box-shadow: 0 0 20px #000 inset;

  8. springboot学习章节代码-spring高级话题

    1.Spring Aware(获取Spring容器的服务) hi, i am guodaxia! test.txt package com.zhen.highlights_spring4.ch3.aw ...

  9. jquery 正则表达式

  10. puppet替换文件中的string

    文件 <VirtualHost :80> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.) https://%{SERVE ...