前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dubbo剖析-搭建一个简单的分布式系统(2)

Dubbo剖析-搭建一个简单的分布式系统(2)

作者头像
加多
发布2018-09-06 15:17:13
3960
发布2018-09-06 15:17:13
举报
文章被收录于专栏:Java编程技术

一、前言

前面时间基于Spring的xml配置的方式搭建了一个简单的包含服务提供(Provider),服务注册中心(Registry),服务消费(Consumer)的分布式系统。本节我们不使用Spring配置方式,使用DUBBO提供的API来做。

二、服务注册中心

服务注册中心内容不变使用zookeeper实现服务注册中心。

  • 首先你需要在 http://zookeeper.apache.org/releases.html 下载一个zk的包,并解压,本文作者使用的是zookeeper-3.4.11这个版本
  • 然后修改zookeeper-3.4.11/conf文件夹里面的zoo.cfg文件里面的dataDir为一个存在的以data结尾的文 件

image.png

  • 然后在zookeeper-3.4.11/bin 下运行sh zkServer.sh start-foreground 就会启动zk,会有下面输出

image.png 可知zk在端口2181进行监听。

至此服务注册中心搭建完毕

三、服务提供与消费

本demo使用maven聚合功能,demo目录如下

image.png

  • 其中Consumer模块为服务消费者
  • 其中Provider模块为服务提供者
  • 其中SDK模块是一个二方包,用来存放服务提供者所有的接口,是为了代码复用使用。

3.1 SDK模块

里面就定义了一个接口,代码如下:

image.png

在该模块执行mvn clean install 命令会按照该模块的jar到本地仓库。

3.2 服务提供模块

在该模块引入SDK模块,其实是为了使用UserServiceBo这个接口。 然后UserServiceImpl实现代码如下:

image.png

测试类TestProvider代码如下:

image.png

运行上面代码,在控制台会输出如下:

image.png

说明该服务已经注册到了zk.

3.2 服务消费模块

首先引入SDK 二方包 测试类代码如下:

image.png

执行代码输出如下:

image.png

说明已经消费到了服务提供者的服务了。

四、总结

本节使用API的方式搭建了一个服务提供(Provider),服务注册中心(Registry),服务消费(Consumer)的分布式系统。在非Spring环境下,可以尝试使用这种方式。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.03.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、服务注册中心
  • 三、服务提供与消费
    • 3.1 SDK模块
      • 3.2 服务提供模块
        • 3.2 服务消费模块
        • 四、总结
        相关产品与服务
        微服务引擎 TSE
        微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档