背景以及说明: 最近逮到个RPC框架,打算深入学习,框架千千万,只有懂得内部原理,才能应对复杂的业务,进行自定义化系统. 这个系列的Motan文章也是自己慢慢摸索的轨迹,将这个过程记录下来,一是提升自己对框架的理解,二是让大家看到这个过程,解决心中学习的困惑,三是由于网上Motan的文章,大多感觉没有写的足够深入,自己想学习又找不到很好的东西,干脆,自己写,撸起膀子开干. 本篇目标: 了解Motan基本知识,搭建Motan Demo,对Zookeeper有个初步的认识. 1.概要 Motan是微…
一.序列化 1.什么是序列化和反序列化? 序列化:将对象变成有序的字节流,里面保存了对象的状态和相关描述信息. 反序列化:将有序的字节流恢复成对象. 一句话来说,就是对象的保存与恢复. 为什么需要这个东西.它的作用呢,就是持久化(比如讲内容保存在计算机上)和进程间传递.因为计算机是二进制的,网络间传输东西也是通过二进制来传递的,所以需要将对象变成bytes再进行传递. 2.序列化的使用 使用序列化的demo,我不写了,网上一堆.里面用到的ObjectOutputStream很重要,我们看看它的介…
困惑的袋鼠,对框架的把握有些茫然,但是仍然一步步向前,行动总比一直迷茫停止不前要好,您说呢,各位客官? 这篇开始客户端的分析.有些地方的代码,就不每段都标出了,中间有跳跃的地方,请自己对照代码来看.鄙人认为,光看武功秘籍没用,得动手debug,您说是不? 文章发了之前,斟酌了一会,因为自己认为写的不理想,有很多东西分析的不透彻,但是,决定还是发布出来,作为自己学习的历程,也希望大家多多给出建议.不断努力. Demo 当然还是看源码中的tutorial demo了. public class Mo…
此文档为系列学习文档 这系列文档详细讲解了dubbo的使用,基本涵盖dubbo的所有功能特性.在接下来的文章里会详细介绍. 如果你正依赖dubbo作为你业务工程的RPC通信框架,这里可以作为你的参考手册 一.背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.此时,用于简化增删改查工作量的数据访问框…
闯关经验: 袋鼠走过了第一关,顺利搭建出了Demo,信心爆棚.不过之后,心想怎么去研究这个框架呢.查了一下,官方文档,好像没什么东西可以研究啊.后来,又搜了搜博客,因为这是微博的框架嘛,所以搜索时用百度进行搜索.后来发现,源代码工程motan-demo-server中的MotanApiExportDemo类,它用代码的形式完整了表述了服务端启动的过程,这不正是思路吗.袋鼠,找到了方向,摸了摸下巴,点了点头,开干. 1 服务发布 不多说废话,先上demo package com.weibo.mot…
袋鼠回头看了看文章,有些啰嗦,争取语音简练,不断提高表达力!袋鼠奋起直追! 注:此篇文章,暂时为了以后时间线排序的需要,暂时发表出来,可是仍然有许多地方需要改写.自己打算把服务端发布,客户端订阅都搞定后,再修改这部分. 接着上篇继续分析doExport() ...前面的部分就做了一件事,将相关配置信息转换成URL类...下面的两行也就做了一件事,委托configHandler,生成exporter对象 1 ConfigHandler configHandler = ExtensionLoader…
注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MIT.GE和AT&T的贝尔实验室计划开发一个复杂的分时操作系统Multics,但是由于目标过于庞大和复杂最后失败了.后来,1969年,贝尔实验室的肯·汤普森开发了UNIX系统,据说他是为了流畅地玩一款游戏才开发了这一个系统.但是,此时UNIX系统并没有被广泛的推广.后来将TCP/IP协议捆绑到UNIX…
PHP是少数几门在语言层面饱受诟病,但在实际开发和应用上却又让人无法撒手的语言之一.就好比路边摊小吃,一遍骂人家不卫生,一遍却又说:真香.所谓接地气,不外如此,大道理不说,PHP光是轮子多.市场占有率高这两点,就足够说明问题. 今天给大家整理的,是一个完整的PHP学习路径.从最基础的前端知识入门,一直到后面综合性的项目教程,只要认真学下来,相信你会有一个牢固的基础. 一.基础入门 1. Linux 基础入门(新版) 2. HTML基础入门 3. CSS速成教程 4. Javascript基础(新…
MyBatis学习总结-MyBatis快速入门的系列教程 [MyBatis]MyBatis 使用教程 [MyBatis]MyBatis XML配置 [MyBatis]MyBatis XML映射文件 [MyBatis]MyBatis 动态SQL [MyBatis]MyBatis Java API [MyBatis]MyBatis SQL语句构建器 [MyBatis]MyBatis 日志 [MyBatis]什么是MyBatis [MyBatis]MyBatis 从XML创建SqlSessionFac…
salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex语言和java很多的语法类似,今天总结的是一些简单的Apex的变量等知识. 有如下几种常用的基本变量Integer,String,Decimal,Double,Long,Boolean,ID. 集合常用的对象:List<T>,Set<T>,Map<T>. 时间日期常用对象:…