Dubbo学习记录

        在如今的互联网环境中,微服务已经不是什么新鲜的东西,如果你对这些东西没有什么了解的话,反而就显得自己更加傻了。就算自己的工作环境用不到,用不用不是我们能决定的事,但是看不看就是我们自己的事了,赶紧捡起来看看,万一你下一次面试会被问到呢?现在用的比较多的就是Dubbo和SpringCloud了,这里我们先去看看Dubbo。

        什么是Dubbo?Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架。那什么又是RPC?其实就是RPC是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。别人天天RPC聊得一片火热,你却听得是一脸懵逼,虽然大概知道是个什么东西,但是让你说,你也说不明白,毫不羞耻的说,我其实就是这样。

        为什么要用Dubbo呢?官网是这么说的:

        1、单一应用架构:当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。

        2、垂直应用架构:当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。

        3、分布式服务架构:当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

        4:、流动计算架构:当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。

        说了这么多,别人问起来,你要是都能说明白,那是你的本事。其实 Dubbo 它将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,用于提高业务复用灵活扩展,更快速的响应多变的市场需求。

        要学明白Dubbo,我们先得明白它的组成角色和执行流程:

dubbo

        从图中我们可以看到,首先就是服务提供者(Provider)在容器中启动,启动之后将我们所提供的服务注册到注册中心(Registry),然后服务消费者(Consumer)从服务注册中心订阅服务,订阅之后,服务注册中心会返回提供者在服务注册中心注册的接口;服务消费者从接口列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用(这里说的是集群,单个zookeeper它没得选)。服务提供者和消费者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

        理论就说这么多,下边我们直接开始动手,先去搞定注册中心,我们这里注册中心选择是的zookeeper,其实Dubbo也支持其他注册中心,大家有兴趣的可以去了解一下,这些东西官网都有。

        提到zookeeper这里得提一下,我们服务器安装的zookeeper版本一定要和我们项目中的版本要一致,不然真的是会有什么乱七八糟的问题发生,简直是在浪费时间,我这里使用的是3.4.8版本,匹配项目中客户端中zookeeper的版本,大家可以去zookeeper官方下载。

        其实服务器安装抛开集群和版本这些问题还是很简单的,装一遍看看~

zookeeper安装

        其中有些地方需要注意:

        1、将配置文件zoo_sample.cfg复制一份,命名为zoo.cfg,并编辑:

zoo.cfg

        2、环境变量的配置,执行vim /etc/profile命令,在文件文本最后配置完环境变量后,保存并退出,之后执行 source /etc/profile进行:

环境变量配置

        注册中心就基本上完了,之后我们看一看项目中怎么玩吧,我自己写了个demo,看一下项目的结构:

项目组成

        定义接口那个模块没什么说的,就是写一些接口说明你要干什么,我们先去看一下服务提供者模块,先从pom文件开始:

服务提供者的pom文件

        再看一下配置文件:

provider-properties

        启动类就不截图了,要加一个@EnableDubbo注解,来启动dubbo,开一下实现类:

provider实现的接口

        这个其实很简单,但是注意的地方还是挺多的,首先就是@Service注解,这个注解是Dubbo的注解,不是我们常用的那个,可别找错了。至于这个接口我们通过pom文件引进的定义接口的那个模块。下边我们看一下Dubbo的@Serivce都是干什么的,我直接从官网拿了,不过好像没有这个版本的属性多,了解一下哈。在这里提醒一下各位,这里有的属性声明了,你也得在消费者哪里@Reference也得声明,比如version这样的属性,你不声明它找不见:

@Service

        下边就是,其实俩边大同小异,pom文件是一样的,看一下配置文件:

consumer-properties

        看一下启动类:

消费者的启动类

        最后就是我们具体的注入和业务交互了:

业务交互


验证

        我们再对@Reference介绍一下,这个也千万别找错了,也是dubbo的:

@Reference

        到这里关于Dubbo的一些基础的东西就没有,其实Dubbo也提供了服务的管理工具Dubbo-admin,大家可以这个项目down下来部署一下,这里我就不搞了。其实在你向zookeeper注册了服务和订阅了服务之后,我们也可以从服务器中体现出来,再看一下这个吧:

查看服务

        到这里这次的分享就没了,先对Dubbo的一些概念和基础有一些了解,不管以后怎样,自己先要准备好。想要更进一步的话,还是主动点好,自己不积累,再换个工作环境也还是被淘汰。自己主动学习是比较费劲,从一个坑出来又跳进了另一个坑,埋怨解决不了问题,只有自己经历过了才会更深刻,以前身旁有人的时候总觉得问个比较低级的问题都会感到难堪,现在想想我连难堪的机会都没有了。只要自己认真学,总会柳暗花明,加油吧!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容