一起玩Dubbo,先入个门

架构 2023-07-05 17:29:38
19阅读

 

文中转载微信公众平台「饭谈程序编写」,创作者白米粥降雪。转截文中请联络饭谈程序编写微信公众号。

为什么玩dubbo

先说个前提,大家企业的手机游戏一直是单服方式,伴随着手机游戏生命期的拓宽,事后都是会发生多种多样组队作用,在之前,组队作用的开发设计都得根据netty,根据组队协议书通告到远程控制服开启相对应逻辑性,基本上组队作用开发设计所占有的时间是本服作用开发设计的三倍上下,开发设计高效率是较为低的。

为了更好地处理组队作用开发设计高效率低的难题,我近期领命搞RPC和服务创新,因此科学研究了下dubbo,大部分是将dubbo里里外外艹了一遍,较为了解了,企业新项目RPC和服务创新的基本也搭的差不多了,没猜出得话,事后便是给朋友们共享下dubbo的表和里,总之也是要共享的, 先写个实例教程先好啦,那时候能够立即发送给她们看。

由于dubbo架构较为大,因此准备写出一个系列,想学dubbo的能够关注我,事后应当会扩展讲下大家企业基本架构的RPC和服务创新的设计方案,有兴趣爱好探讨的还可以找我聊。

说个搞笑的事儿,一开始触碰dubbo的情况下,音标发音全是嘟波,还与同事们争吵了下,最后查了下,发觉是达波。

该一篇文章是dubbo文章内容的第一篇,先教大伙儿将dubbo跑起来,你以为仅仅运行这么简单,或是挺多流程的,包含运行认证中心、后台管理运行等好几个流程,有兴趣爱好学dubbo的跟随玩着吧!

dubbo构造怎样

Provider: 曝露服务项目的服务项目出示方,实际上便是一个出示了服务项目的服。

Consumer: 启用远程服务的服务项目消費方,也就是服务项目的启用方。

Registry: 服务项目申请注册与发觉的认证中心,服务项目的启用方和申请注册方沟通交流的方式、

Monitor: 统计分析服务项目的启用次调合启用時间的监控系统。

Container: 服务项目器皿,实际上没必要抽出来的定义。

简易说下启用关联:

  • 服务项目器皿承担运行,载入,运作服务供应商。
  • 服务供应商在启动,向认证中心申请注册自身出示的服务项目。
  • 服务项目顾客在启动,向认证中心定阅自身需要的服务项目。
  • 认证中心回到服务供应商详细地址目录给顾客,如果有变动,认证中心将根据长连接消息推送变动数据信息给顾客。
  • 服务项目顾客,从服务提供者详细地址目录中,根据web服务优化算法,选一台服务提供者开展启用。
  • 服务项目顾客和服务提供者,在运行内存中总计启用频次和启用時间,定时发送数据统计到监控系统。

将认证中心跑起来

Zookeeper是什么

认证中心有多种多样,这儿挑选了Zookeeper,大约叙述下Zookeeper,它是一个分布式系统的,开源论坛的分布式架构程序流程融洽服务项目,是Google的Chubby一个开源系统的完成,是Hadoop和Hbase的关键部件。

做为一个为分布式架构出示一致性服务项目的手机软件,出示的作用包含:配备维护保养、名称服务项目、分布式系统同歩、组服务项目等。

Zookeeper认证中心能全自动删掉服务提供者信息内容,当服务提供者重新启动时,能全自动修复申请注册数据信息。

布署Zookeeper

流程1:

官方网站可免费下载:http://www.apache.org/dyn/closer.cgi/zookeeper/

流程2:

免费下载后缓解压力,Zookeeper 的环境变量在 conf 文件目录下,有 zoo_sample.cfg 和 log4j.properties,将zoo_sample.cfg 重新命名成zoo.cfg,由于 Zookeeper 在运行的时候会找这一文档做为默认设置环境变量。

说说zoo.cfg文件里边好多个关键的配备

  • tickTime:这一时间做为 Zookeeper 集群服务器或手机客户端与集群服务器保持心率的间隔时间,也就是每一个 tickTime 時间便会推送一个心率。
  • dataDir:说白了便是 Zookeeper 储存数据信息的文件目录,默认设置状况下,Zookeeper 将写数据信息的日志文档也储存在这个文件目录里。
  • clientPort:这一端口号便是手机客户端联接 Zookeeper 网络服务器的端口号,Zookeeper 会监视这一端口号,接纳手机客户端的浏览要求。

流程3:

运作Zookeeper ,运行Zookeeper文件目录下bin下的zkServer.cmd

运行以后一直开了,不必关闭这一cmd,还记得要在dubbo顾客和服务提供者运作以前就打开Zookeeper。

运作取得成功后是那样的

将后台管理系统跑起来

dubbo-admin是什么

dubbo-admin是dubbo架构的后台管理系统,能够对申请注册的服务项目(provider)和服务项目启用方(comsumer)开展服务治理,包含路由器、监管、配备等作用;

dubbo一般全是应用Zookeeper来开展管理服务申请注册,而dubbo-admin查询申请注册了什么服务项目,由于查询服务项目必须从Zookeeper上查看的,因此dubbo-admin必须取决于Zookeeper;

安裝dubbo-admin

流程1:

免费下载dubbo-admin工程项目源代码,详细地址 https://github.com/apache/dubbo-admin

流程2:

应用idea开启该工程项目,运行通道类

流程3:

运行后,默认设置浏览 http://localhost:7001/

账户和登陆密码都键入root就可以进到

最后能够见到该管理页面。

将dubbo服务项目跑起来

流程1:

从github上clone工程项目源代码 https://github.com/apache/dubbo 到当地

应用Idea导进源代码,并转换到3.0版本号

安裝下各种各样依靠

流程2:

看dubbo-demo控制模块,直接看xml控制模块,內部出示了consumer和provider的功能测试

xml控制模块中,consumer和provider控制模块中resources下边都是有个xml配备,叙述了服务项目曝露和服务项目定阅的有关详细信息。

服务项目申请注册方

服务项目定阅方

立即运行相匹配的Application,运行取得成功后应当能够见到RPC有关启用的日志了。

运行出示方

运行定阅方

根据程序流程能够看得出,在定阅方一直持续的去启用出示方的服务项目

流程3:

查询admin后台管理,能够见到

admin后台管理早已拥有有关纪录,这个时候大家便能够根据admin后台管理开展服务项目的整治了。

汇总

dubbo现阶段就是这样跑起来了,坚信看了应当都是会内心留了好多个疑惑,例如定阅方是怎么寻找申请注册方的,admin后台管理改动后如何通告到定阅方和申请注册方的,定阅方也是怎样完成远程控制方式启用的,别着急,关注我,下一篇文章将从源代码剖析dubbo,给你解除一个个疑虑。

the end
免责声明:本文不代表本站的观点和立场,如有侵权请联系本站删除!本站仅提供信息存储空间服务。