『高级篇』docker之开发课程服务(15)

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker之开发课程服务(15)

这次一起编写课程服务。之前的用户服务,用户EdgeSerivce,用户信息,都已经开发完毕了,开始开发课程服务,对外的是dubbo接口,需要访问后端的数据库。源码:https://github.com/limingios/msA-docker

『高级篇』docker之开发课程服务(15)_第1张图片

开发课程服务模块

基于dubbo的服务,一般先定义api接口,前面的都是基于thrift的,我们先写一个thrift的文件,然后根据配置文件升成对应的api,dubbo我们相当于先手写一个api的模块。

『高级篇』docker之开发课程服务(15)_第2张图片

稍微复杂

  • 总体思想

就不在复制代码了只通过截图来讲述功能,可以参考源码,本次跟用到了上次springboot集成dubbo的方式。

  1. course-dubbo-service-api 是负责提供接口的服务
  2. course-dubbo-service 是course-dubbo-service-api的实现
  3. course-dubbo-service 需要依赖原始的user-thrift-service-api的原生DTO类 和 user-thrift-service中的方法实现。
  4. course-dubbo-service调用user-thrift-service 是用过thrift的方式完成的调用。因为user-thrift-service本身就是通过thrift生成对应的java类。
『高级篇』docker之开发课程服务(15)_第3张图片
『高级篇』docker之开发课程服务(15)_第4张图片
  • user-thrift-service 和 user-thrift-service-api
  1. user-thrift-service-api 做了thrift的修改,增加了老师的DTO和ID来获取用户的信息,所以需要重新通过thrift命令生成对应的java类
  2. user-thrift-service 实现了新增的通过ID来获取用户的信息的接口,并增加了UserMapper
  3. user数据库中增加了一张关联表teacher表
『高级篇』docker之开发课程服务(15)_第5张图片
『高级篇』docker之开发课程服务(15)_第6张图片
『高级篇』docker之开发课程服务(15)_第7张图片
『高级篇』docker之开发课程服务(15)_第8张图片
『高级篇』docker之开发课程服务(15)_第9张图片
  • course-dubbo-service-api 和 course-dubbo-service
  1. course-dubbo-service pom中引入了springboot,mysql的驱动,thrift,springboot-dubbo,user-thrift-service.jar,user-thrift-service-api.jar
  2. course-dubbo-service 中注入thrift微服务的访问service,获取教师针对课程的教程信息访问user-thrift-service的微服务,通过thrift的方式。
  3. application.properties 配置dubbo的配置,数据库配置,user-thrift-service的地址和端口


    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.3.RELEASE
    
    4.0.0

    com.idig8
    course-dubbo-service
    1.0-SNAPSHOT

    
        
            io.dubbo.springboot
            spring-boot-starter-dubbo
            1.0.0
        
        
            org.springframework.boot
            spring-boot-starter
        
        
            org.apache.thrift
            libthrift
            0.10.0
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            1.3.1
        

        
            mysql
            mysql-connector-java
            5.1.44
        
        
            com.idig8
            course-dubbo-service-api
            1.0-SNAPSHOT
        

        
            com.idig8
            user-thrift-service
            1.0-SNAPSHOT
        
        
            com.idig8
            user-thrift-service-api
            1.0-SNAPSHOT
        
    


『高级篇』docker之开发课程服务(15)_第10张图片
『高级篇』docker之开发课程服务(15)_第11张图片
『高级篇』docker之开发课程服务(15)_第12张图片
『高级篇』docker之开发课程服务(15)_第13张图片

PS:基本的课程开发思路就是这样,别人有的微服务调用,只实现自己所属的。

『高级篇』docker之开发课程服务(15)_第14张图片

你可能感兴趣的:(『高级篇』docker之开发课程服务(15))