内容简介:这次一起编写课程服务。之前的用户服务,用户EdgeSerivce,用户信息,都已经开发完毕了,开始开发课程服务,对外的是dubbo接口,需要访问后端的数据库。源码:https://github.com/limingios/msA-docker基于dubbo的服务,一般先定义api接口,前面的都是基于thrift的,我们先写一个thrift的文件,然后根据配置文件升成对应的api,dubbo我们相当于先手写一个api的模块。
这次一起编写课程服务。之前的用户服务,用户EdgeSerivce,用户信息,都已经开发完毕了,开始开发课程服务,对外的是dubbo接口,需要访问后端的数据库。源码:https://github.com/limingios/msA-docker
开发课程服务模块
基于dubbo的服务,一般先定义api接口,前面的都是基于thrift的,我们先写一个thrift的文件,然后根据配置文件升成对应的api,dubbo我们相当于先手写一个api的模块。
稍微复杂
-
总体思想
>就不在复制代码了只通过截图来讲述功能,可以参考源码,本次跟用到了上次springboot集成dubbo的方式。
- course-dubbo-service-api 是负责提供接口的服务
- course-dubbo-service 是course-dubbo-service-api的实现
- course-dubbo-service 需要依赖原始的user-thrift-service-api的原生DTO类 和 user-thrift-service中的方法实现。
- course-dubbo-service调用user-thrift-service 是用过thrift的方式完成的调用。因为user-thrift-service本身就是通过thrift生成对应的 java 类。
- user-thrift-service 和 user-thrift-service-api
- user-thrift-service-api 做了thrift的修改,增加了老师的DTO和ID来获取用户的信息,所以需要重新通过thrift命令生成对应的java类
- user-thrift-service 实现了新增的通过ID来获取用户的信息的接口,并增加了UserMapper
- user数据库中增加了一张关联表teacher表
- course-dubbo-service-api 和 course-dubbo-service
- course-dubbo-service pom中引入了springboot,mysql的驱动,thrift,springboot-dubbo,user-thrift-service.jar,user-thrift-service-api.jar
- course-dubbo-service 中注入thrift微服务的访问service,获取教师针对课程的教程信息访问user-thrift-service的微服务,通过thrift的方式。
- application.properties 配置dubbo的配置,数据库配置,user-thrift-service的地址和端口
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.3.RELEASE</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>com.idig8</groupId> <artifactId>course-dubbo-service</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>io.dubbo.springboot</groupId> <artifactId>spring-boot-starter-dubbo</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>0.10.0</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency> <dependency> <groupId>com.idig8</groupId> <artifactId>course-dubbo-service-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.idig8</groupId> <artifactId>user-thrift-service</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.idig8</groupId> <artifactId>user-thrift-service-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> </project>
PS:基本的课程开发思路就是这样,别人有的微服务调用,只实现自己所属的。
>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>>原文链接地址:上一篇:已是最新文章
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 『高级篇』docker之开发课程EdgeService(16)
- PyQt5开发与实战视频教程-李宁-专题视频课程
- 免费参加腾讯运维开发实战课程,更有机会赢大奖!
- 路线图与课程链接:如何跟上开发潮流,成为一名 DevOps 工程师?
- imi v1.0.21 发布,支持 gRPC 服务开发 ,推出免费视频课程
- Netty/Springboot仿微信聊天全栈实战从0开发到上线部署(完整视频版),2018慕课网课程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Design Patterns
Elisabeth Freeman、Eric Freeman、Bert Bates、Kathy Sierra、Elisabeth Robson / O'Reilly Media / 2004-11-1 / USD 49.99
You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire),......一起来看看 《Head First Design Patterns》 这本书的介绍吧!