背景以及说明:

最近逮到个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. 熔断监控面板(Hystrix Dashboard)

    Hystrix Dashboard Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Comma ...

  2. MATLAB 图片折腾4

    重新安排矩阵的x,y,z , 在二维中就相当于把x,y 对换,在三维中相当于可以把三个坐标的位置互换. 比如A = A(:,:,1)=repmat(1,3,3);A(:,:,2)=repmat(2,3 ...

  3. MySQl 主从配置实战

    目前后台数据库使用了一个实例做数据统计分析,随着数据井喷,单个实例无法做数据分析.故开始了读写分离. 1.主配置 [client] port = 3306 socket = /tmp/mysql-33 ...

  4. 如何从零安装Mysql

    1.yum/rpm安装 2.采用二进制方式免编译安装MySQL. 3.考虑到MySQL5.4.xx及以后系列产品的特殊性,其编译方式和早期的第一条产品线的有所不同,这里采用cmake或gmake方式的 ...

  5. UUID+随机数

    import java.util.Random; import java.util.UUID; public class UUIDUtils { public static String getUUI ...

  6. 实力封装:Unity打包AssetBundle(四)

    →→前情提要:窗口初现←← 让用户选择要打包的文件 时至今日,我们选择打包文件的方式依然是在Project面板或Hierarchy面板中用鼠标点选.现在既然有了窗口,我们自然希望可以将所有文件罗列在窗 ...

  7. Entity Framework数据库初始化

    public class ApplicationContext : DbContext { public DbSet<User> Users { get; set; } public Ap ...

  8. 类的无参方法和Doc注释

    一:Java Doc注释: 语法: /** *AccpSchool 类 *@author JadeBird *@version 1.0 2018/5/26 */ Java Doc是前Sun公司提供的一 ...

  9. day 67 django 之ORM 增删改查基础

    一 操作基础前提准备 1. 新建django 项目 mysite  子项目app01 ,选择好做路径. 2  .2-1在app01 下面models 中引用 模块 from  django.db im ...

  10. Unity3D使用OpenFileDialog后崩溃

    http://ask.unitymanual.com/question/24922 找了很久,原来是我的dll文件引错了,名字都一样,应该引用unity安装目录下的System.Window.Form