




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目目 录录1. 引言引言 .41.1.编写目的.41.1.1.作用.41.1.2.预期读者.41.2.编写背景.41.3.电子文档编写工具.41.4.参考资料.42. 总体设计总体设计 .52.1.系统目标.52.2.软件架构.52.3.部署方案.53. 子系统使用子系统使用 .63.1.隔离、熔断、降级.63.1.1.原理.63.1.2.特性引入.73.1.3.使用方法.83.2.监控特性.103.2.1.原理.103.2.2.特性引入.103.2.3.使用方法.114. 问题及风险问题及风险 .124.1.问题.12SpringcloudSpringcloud 整合整合 MybatisMy
2、batis第一部分第一部分 背景介绍步骤背景介绍步骤1. 引言引言1.1.编写目的编写目的1.1.1. 作用作用在分布式系统中,服务与服务之间依赖错综复杂,想要一次性获取所有的微服务信息就变得尤为困难,所以我们引入数据库,可以将庞杂的数据引入数据库利用 mybatis 来进行操作,管理,展示。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objec
3、ts,普通的 Java 对象)映射成数据库中的记录。配合我们的框架 springcloud,从而做到控制分布式系统中的联动信息数据管理。在远程服务不可用时自动熔断,并在远程服务恢复时自动恢复,从而提高了这个分布式系统的弹性。1.1.2. 预期读者预期读者微服务服务开发人员,测试人员,运维人员1.2. 编写背景编写背景为了指导本公司微服务的开发人员更好的运用 Spring Cloud 整合 Mybatis,特编写该文档。需要注意的是该文档只是对整合简要介绍,更重要的是指导开发人员在开发微服务时更好的利用该特性,并不是详细说明文档。1.3. 电子文档编写工具电子文档编写工具Microsoft Wo
4、rd 2010 for Windows 2000Microsoft Visio 2010 for Windows 20001.4. 参考资料参考资料Mybatis 官方网站Spring Cloud 官方网站CSDN 等技术网站Mysql 官网2. 总体设计总体设计2.1.系统目标系统目标整合 springcloud 和 mybatis 在 consul 和 Eureka 两端都做整合达到提供数据提取管理的微服务。2.2.软件架构软件架构由于我们是用双服务发现 服务端 Consul 和客户端的 Eureka 所以需要将 mybatis 整合到两个上面2.3.部署方案部署方案该特性相当于微服务接口
5、功能的扩展,需要在每个微服务接口中进行使用,所以需要跟随微服务进行统一部署。运维人员可以利用之前搭建好的 Hystrix 提供的监控平台对微服务调用情况进行监控。这里有两种部署情况:单点部署3. 问题及风险问题及风险3.1.问题问题1.只验证了数据拿取,真正的其他微服务接入还未尝试(注意 mybatis 中的各个层的应用名字规范)2.关于数据库的配置 驱动 url 之类的 只能配置在本地有 mysql 依赖的地方 不能配置到远程配置中心3.首先是在 consul 里 mysql 依赖用 5.1.41 版本Mybatis 首次验证用 1.1.1 版本 验证失败 报错:“日志版本不兼容”后修改为
6、1.2.4 org.mybatis.spring.boot mybatis-spring-boot-starter RELEASE验证 成功 Mybatis 分层 Controller Dao Service Model Mapper 要严格分层 然后是在 Eureka 里整合 mybatisEureka 里要求更严格 spring-boot 整合 mybatis 的版本依赖和spring-boot-starter 依赖是对应兼容的 详细的表 请参照官网 http:/ spring-boot-starter 用的是 1.4.5(Cm.SR7 默认)查询得知 mybatis-spring-boo
7、t 依赖应该是用 1.2.1 版本 要注意以上第第 2 部分部分 具体搭建步骤具体搭建步骤1.整合整合 mybatis 并入数据库并入数据库 mysql1.1 依赖引入依赖引入首先在父级项目下创建添加子项目 Eureka-mybatis然后引入 mybatis 和 mysql 需要的依赖 要注意 mybaits 的依赖版本和 SR7 默认下载的 springboot 版本有很严格的兼容性 所以我们可以根据默认的 springboot 依赖版本去官网查 得知我们需要配置 mybatis 的对应版本是 1.2.1以上就是 mybatis 部分的依赖 然后是 mysql 的 这里我们需要配置的版本是
8、 5.1.41两个需要的特殊依赖配置完成后 我们需要清楚概念 我们要把整合成后的微服务发布在EurekaServer 和 Consul 两个服务发现上 因此我们可以看做 provider 所以配置让他可以注册到服务发现上 并且可以从远程拉取配置文件 因此我们需要在远程库中添加他的远程配置文件1.2 配置文件配置文件其中的配置如下 其实和一个普通的 provider 的配置一样 要注意服务名字然后本地配置我们只需要指向这个远程库 告知我需要这个配置文件 请给我拉取解析即可本地配置和其他微服务一样 main 下的 resources 文件夹但是注意 远程配置中心解析只认识这个名字 bootstra
9、p1.3 启动类启动类注解和一般的微服务一样 要注意 EnableEurekaClient 是针对 Eureka 服务发现的 而我们如果要注册到 consul 上的时候 需要换一个注解 2.类结构遵循类结构遵循 mybatis 模式模式分层需要严格遵循 mybatis 的需要规定2.1 Mapper 类类注意 Mapper 注解 如果你的依赖引的不对 这个注解是不会亮的 加在 Mapper 类上用来直接和数据库交接持久化数据PS:我们这里用的是直接用注解把 SQL 语句写上的方式 并非让 Mapper 层访问 xml 文件的方式然后注意每层的调用关系和顺序 来定好方法名规范特别注意 需要在 C
10、ontroller 上加上映射 以统一 url3.启动调用测试启动调用测试3.1 启动服务启动服务Eureka 部分 先启动高可用的服务发现 EurekaServer再启动远程配置中心 ConfigServer 注意以上两个的端口与修改ConfigServer 端口为 9991EurekaServer 有三个高可用的端口 peer1 2 3 随便指定一个都行启动.界面如下 然后我们再启动 Mybatis 微服务发现已经成了然后我们需要用 controller 提供的服务接口来调用微服务 可以看到如图的接口 我们在 Consumer 中就可以写方法来调用他了 3.2 Consumer 调用服务调用服务在 Eureka 里的服务调用是经过负载的 所以我们用官方提供的 restTemplate 来对接口进行调用首先实例化 并且开启负载 加入 spring 容器在 service 层中释放容器中的实例 并且调用调用服务 因为服务是需要参数的 所以此处要注意携带然后我们将这次调用 同样通过一个接口在 Controller 层里放出就可以了 3.3 测试测试依次启动 EurekaServerConfigServer Myba
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培训行业品牌推广策略计划
- 2024年西安市临潼区人民医院招聘笔试真题
- 金融行业保安工作的综合分析与建议计划
- 深度剖析前后端分离架构试题及答案
- 数据分析在仓库中的应用计划
- 2024年湖南省数据局遴选公务员笔试真题
- 2025年软件设计师进阶试题及答案工具
- 个人能力评估与提升的月度方案计划
- 2025年软考设计师重点试题及答案
- 2025软件设计师考试核心试题及答案
- 2024年北京普通高中学业水平等级性考试化学试题及答案
- 住家护工聘用合同协议书
- 平面向量的基本定理(说课)
- 人教版PEP英语3-6年级全部单词默写表格以及背诵版本
- 2024年新课标高考化学真题试题(原卷版+含解析)
- 《一起长大的玩具》整本书阅读(教学设计)统编版语文二年级下册
- 2024公需科目:数字经济与创新驱动发展题库
- 汽车租赁价格动态调整策略研究
- 湖北省武汉市江汉区2023-2024学年七年级下学期期末数学试题
- 专题04语法填空
- DZ∕T 0270-2014 地下水监测井建设规范
评论
0/150
提交评论