文档章节

springboot+mybatis+dubbo+aop日志第一篇

o
 osc_w9s1w4o0
发布于 2019/04/03 14:19
字数 964
阅读 17
收藏 0

精选30+云产品,助力企业轻松上云!>>>

本篇文章主要讲述项目搭建过程,不会涉及过多的基础知识,本项目是作者对前段时间学习的一个总结,主要使用到技术有:maven父子工程、springboot、mybatis、dubbo、zookeeper、使用aop记录每个service服务方法的入参、方法名称、调用时长、出参到日志文件等,绝对是一个入门的好案列。

1.dubbo架构

节点角色说明
节点 角色说明
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器
调用关系说明
  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

健壮性

  • 监控中心宕掉不影响使用,只是丢失部分采样数据
  • 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
  • 注册中心对等集群,任意一台宕掉后,将自动切换到另一台
  • 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
  • 服务提供者无状态,任意一台宕掉后,不影响使用
  • 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

 

更多的dubbo使用说明,请参见dubbo官方文档说明

http://dubbo.apache.org/zh-cn/docs/user/preface/architecture.html

2.zookeeper安装 - windows安装

zookeeper下载地址:https://pan.baidu.com/s/1a5w9R6X-seoYCBbyxeA5vA 提取码: 64i3

1.把下载文件解压到D盘(其他盘也可以,作者的是解压到D盘)

2.打开zookeeper-3.4.5目录

3.在该目录里新建两个文件夹:data、log

4.点击conf目录,复制zoo_sample.cfg文件到该目录,并修改复制后的文件名字为:zoo.cfg

5、打开zoo.cfg文件,把步骤3创建的data、log路径赋值给dataDir和dataDirLog,如下所示(这是作者创建的额data、log目录):

dataDir=D:\\java\\zookeeper-3.4.5\\zookeeper-3.4.5\\data

dataDirLog=D:\\java\\zookeeper-3.4.5\\zookeeper-3.4.5\\log

6、找到bin目录,双击zkServer.cmd,即可启动zookeeper服务,启动成功如下如所示

3.项目框架

项目采用maven父子工程的模式进行管理,如下图所示

  • dubbo-demo-master为父工程,管理其他子工程。

  • dubbo-demo-model为实体层,主要用来定义实体、DTO等数据对象

  • dubbo-demo-api为接口层,单独抽出来一层,可以提供其他项目引用,该层依赖dubbo-demo-model

  • dubbo-demo-service为服务层,实现dubbo-demo-api里定义的接口,该层依赖dubbo-demo-api、dubbo-demo-model,zookeeper

  • dubbo-demo-web为UI层,主要定义各种Controller,该层依赖dubbo-demo-api、dubbo-demo-model、zookeeper

下一篇文章会介绍api、service层的代码实现,如何通过dubbo把服务发布出去。

 

作者: Eric.Chen
出处: https://www.cnblogs.com/lc-chenlong
如果喜欢作者的文章,请关注“写代码的猿”订阅号以便第一时间获得最新内容。本文版权归作者所有,欢迎转载
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

hbase2.1.9 centos7 完全分布式 搭建随记

hbase2.1.9 centos7 完全分布式 搭建随记 这里是当初在三个ECS节点上搭建hadoop+zookeeper+hbase+solr的主要步骤,文章内容未经过润色,请参考的同学搭配其他博客一同使用,并记得根据实际情...

osc_4tfw1dxv
42分钟前
11
0
zookeeper3.5.5 centos7 完全分布式 搭建随记

zookeeper3.5.5 centos7 完全分布式 搭建随记 这里是当初在三个ECS节点上搭建hadoop+zookeeper+hbase+solr的主要步骤,文章内容未经过润色,请参考的同学搭配其他博客一同使用,并记得根据实...

osc_6jhxf9ab
43分钟前
19
0
steam夏日促销悄然开始,用Python爬取排行榜上的游戏打折信息

前言 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,...

osc_ur9mmbck
44分钟前
16
0
python 里 certifi 库的作用

python 里 certifi 库的作用 安装了certifi之后,和requests库一样也有一个cacert.pem,可以用编辑器打开cacert.pem,里面包含了很多可信任知名公司的证书/公钥 库的路径,我这里是python2.7...

osc_1x6ycmfm
45分钟前
11
0
干掉"ZooKeeper",阿里为什么不用ZK做服务发现?

  20大进阶架构专题每日送达   链接:yq.aliyun.com/articles/601745   2020年Java面试题库连载中   !   正文   站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不...

osc_q5m9dzk0
47分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部