前言

motan学习笔记 一 微博轻量级RPC框架Motan
motan学习笔记 二 motan架构分析
motan学习笔记 三 motan Demo 分析
motan学习笔记 四 motan Demo 之yar 分析
motan学习笔记 五 opentracing学习入门
motan学习笔记 六 opentracing Brave+zipkin实现

前几年RPC+SOA,这几年服务化,微服务

其实都大同小异,都是概念。dubbo是一款比较成功的开源项目,好多公司都在使用,去哪 京东 当当

但是,dubbo有点太繁琐了,把rpc拆分的很细,利于大家扩展。同时综合了服务治理。

motan,是微博基于dubbo的定制,同时框架接口比较清晰(当然dubbo也很清晰,相对而言)

不熟悉dubbo的同学,请看我之前写的文档   dubbo学习笔记 http://blog.csdn.net/akfly/article/category/6600674

motan

官方文档

用户指南    https://github.com/weibocom/motan/wiki/zh_userguide#%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%BB%8D
通过官方文档可以看出

可以看出与dubbo很类似,之后我们会分析其的几个模块

register

用来和注册中心进行交互,包括注册服务、订阅服务、服务变更通知、服务心跳发送等功能;Server端会在系统初始化时通过register模块注册服务,Client端在系统初始化时会通过register模块订阅到具体提供服务的Server列表,当Server 列表发生变更时也由register模块通知Client。

protocol

用来进行RPC服务的描述和RPC服务的配置管理,这一层还可以添加不同功能的filter用来完成统计、并发限制等功能。

serialize

将RPC请求中的参数、结果等对象进行序列化与反序列化,即进行对象与字节流的互相转换;默认使用对java更友好的hessian2进行序列化。、

transport

用来进行远程通信,默认使用Netty nio的TCP长链接方式。

cluster

Client端使用的模块,cluster是一组可用的Server在逻辑上的封装,包含若干可以提供RPC服务的Server,实际请求时会根据不同的高可用与负载均衡策略选择一个可用的Server发起远程调用。
在进行RPC请求时,Client通过代理机制调用cluster模块,cluster根据配置的HA和LoadBalance选出一个可用的Server,通过serialize模块把RPC请求转换为字节流,然后通过transport模块发送到Server端。

代码构建

下载pherialize

motan支持protocol-yar  所以需要这个jar吧,简单的看了下,里面是java如何序列化成php识别的字符串
Example:List list;list = new ArrayList();
list.add("A string");
list.add(Integer.valueOf(12345));
list.add(Boolean.TRUE);
System.out.println(Pherialize.serialize(list));
The result is printed to stdout and looks like this:a:3:{i:0;s:8:"A string";i:1;i:12345;i:2;b:1;}
Now you can use this string in PHP to unserialize it back into a PHP array:$data = unserialize('a:3:{i:0;s:8:"A string";i:1;i:12345;i:2;b:1;}');
var_dump($data);
Result is a PHP array with exactly the data and types you have added to the array with Java:array(3) {[0]=>string(8) "A string"[1]=>int(12345)[2]=>bool(true)
}
下载源码     https://github.com/kayahr/pherialize   因为motan使用1.2.1,切换分支,本地build即可 

下载motan

https://github.com/weibocom/motan   mvn clean install

motan学习笔记 一 微博轻量级RPC框架Motan相关推荐

  1. 微博轻量级RPC框架Motan

    Motan 正式开源了,项目地址为https://github.com/weibocom/motan.微博技术团队希望未来能有更多优秀的开源人入驻,并进一步完善优化. 微博轻量级RPC框架Motan正 ...

  2. motan rpc java demo_轻量级RPC框架-motan

    四步完成NodeJS安装,配置和测试 四步完成NodeJS安装,配置和测试 NodeJS 官网地址: http://nodejs.org/ 第一步:在官网点击 ' INSTALL ',下载相应的版本( ...

  3. motan学习笔记 二 motan架构分析

    motan学习笔记 一 微博轻量级RPC框架Motan motan学习笔记 二 motan架构分析 motan学习笔记 三 motan Demo 分析 motan学习笔记 四 motan Demo 之 ...

  4. motan学习笔记 五 opentracing学习入门

    motan学习笔记 一 微博轻量级RPC框架Motan motan学习笔记 二 motan架构分析 motan学习笔记 三 motan Demo 分析 motan学习笔记 四 motan Demo 之 ...

  5. motan学习笔记 三 motan Demo 分析

    motan学习笔记 一 微博轻量级RPC框架Motan motan学习笔记 二 motan架构分析 motan学习笔记 三 motan Demo 分析 motan学习笔记 四 motan Demo 之 ...

  6. 支撑微博千亿调用的轻量级RPC框架:Motan

    随着微博容器化部署以及混合云平台的高速发展,RPC 在微服务化的进程中越来越重要,对 RPC 的需求也产生了一些变化.今天主要介绍一下微博 RPC 框架 Motan,以及为了更好的适应混合云部署所做的 ...

  7. Dobbo的继任者?试用微博RPC框架Motan

    从14年开始就陆续看到新浪微博RPC框架Motan的介绍,时隔两年后,微博团队终于宣布开源轻量级RPC框架Motan,项目地址: https://github.com/weibocom/motan/ ...

  8. 微博RPC框架Motan

    原文来自:http://blog.csdn.net/autfish/article/details/51374798 从14年开始就陆续看到新浪微博RPC框架Motan的介绍,时隔两年后,微博团队终于 ...

  9. 轻量级Rpc框架设计--motan源码解析六:client端服务发现

    一, Client端初始化工作 client端通过RefererConfigBean类实现InitializingBean接口的afterPropertiesSet方法, 进行下面三项检查配置工作: ...

最新文章

  1. python读取csv文件的方法-python读取csv文件指定行的2种方法详解
  2. 【PostgreSQL+PostGIS离线安装】2天的踩坑及问题解决经验分享(含安装文件postgresql-9.5.9+postgis-2.2.3+多个依赖及测试SQL)
  3. C++ 反射机制的简单实现
  4. 妈妈培养天才的13绝招
  5. php中$stu_by,PHP基础案例二:计算学生年龄
  6. Webstorm相关设置
  7. PHPCMS 使用图示和PHPCMS二次开发教程(转)
  8. 转:android 简历
  9. php的外文参考文献_php英文文献翻译及参考文献
  10. Microblaze程序固化流程
  11. 毕业设计-基于SSM框架大学教务管理平台项目开发实战教程(附源码)
  12. DeFi之道访谈:如何参与Web3?哪些细分赛道值得关注?
  13. 腾讯云SDK使用python版
  14. 硬件测试所需的5个流程(硬件开发工程师也应该掌握)
  15. 国产芯片---带使能端、轨到轨的运算放大器MS8093
  16. 二本 计算机专业2017分数线,2017全国大学二本录取分数线一键查询软件
  17. C#实现基于Logistic映射混沌加密算法(可加密静态图片和动态图片)
  18. 有域名和服务器怎么建设网站新手,怎么建立一个网址?作为新手小白怎样建立一个网站呢?...
  19. PHP 汉字转拼音 gbk utf8
  20. 信息系统项目管理师2017年下半年下午案例分析题及答案

热门文章

  1. UI设计的色彩搭配及原则(转载)
  2. 不要再逼我们去见旧情人
  3. 索尼官网的产品怎么样?
  4. CSS实现div填满剩余高度
  5. 【功能安全】【ISO26262】支持过程
  6. hostname命令的使用
  7. 第一行代码-android-第三版-pdf扫描-思维导图-课件-源码
  8. linux查看进程被kill原因,定位Linux下定位进程被谁KILL
  9. PTA练习:谁先倒.(C语言)
  10. Contiki 系统框架