『高階篇』docker之開發課程服務(15)
這次一起編寫課程服務。之前的使用者服務,使用者EdgeSerivce,使用者資訊,都已經開發完畢了,開始開發課程服務,對外的是dubbo介面,需要訪問後端的資料庫。原始碼:
開發課程服務模組
基於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=""
xmlns:xsi=""
xsi:schemaLocation=" ">
<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:基本的課程開發思路就是這樣,別人有的微服務呼叫,只實現自己所屬的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4686/viewspace-2820890/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 『高階篇』docker之開發使用者服務(12)Docker
- 『高階篇』docker之微服務間如何通訊(六)Docker微服務
- 『高階篇』docker之服務編排三大平臺揚帆起航(21)Docker
- 『高階篇』docker之APIGateway(17)DockerAPIGateway
- 『高階篇』docker之CICD(終結篇)(44)Docker
- 《python運維和開發實戰-高階篇》視訊課程筆記Python運維筆記
- Devops 開發運維高階篇之Jenkins+Docker+SpringCloud微服務持續整合(上)dev運維JenkinsDockerSpringGCCloud微服務
- 《python運維和開發實戰-高階篇》視訊課程筆記二Python運維筆記
- Abaqus熱分析高階課程
- 『高階篇』docker之瞭解kubernetes(31)Docker
- 『高階篇』docker容器來說微服務導學(一)Docker微服務
- Devops 開發運維高階篇之容器管理dev運維
- 『高階篇』docker之Mesos叢集架構圖(23)Docker架構
- Spring Cloud Alibaba | Sentinel: 服務限流高階篇SpringCloud
- 『高階篇』docker之gitlab和jenkins安裝(42)DockerGitlabJenkins
- Oracle資料倉儲高階課程Oracle
- 測試開發之網路篇-常用服務協議協議
- 微服務之服務註冊和服務發現篇微服務
- 安卓開發之服務Service安卓
- 跟我學SpringCloud | 第十篇:服務閘道器Zuul高階篇SpringGCCloudZuul
- 02 . Ansible高階用法(運維開發篇)運維
- Laravel 服務之任務排程Laravel
- 【社招】【小米】golang服務端(高階)研發工程師Golang服務端工程師
- Docker實現服務發現Docker
- go-zero docker-compose 搭建課件服務(五):完善user服務GoDocker
- OCP課程15:SQL之管理模式物件SQL模式物件
- .NET Core微服務開發服務間呼叫篇-GRPC微服務RPC
- (六)spring cloud微服務分散式雲架構-服務閘道器Zuul高階篇SpringCloud微服務分散式架構Zuul
- 測試開發之系統篇-Docker常用操作Docker
- Docker on PowerLinux—— 技術公開課-CSDN公開課-專題視訊課程DockerLinux
- 資料庫開發(22)高階事務處理資料庫
- Spring定時任務高階使用篇Spring
- Java高階程式設計-姜國海 課程總結Java程式設計
- NoSQL高階培訓課程-HBase&&MongoDB(兩天版)SQLMongoDB
- Python開發系列課程彙總 - 課程大綱Python
- 低程式碼開發平臺解決方案之“金融服務行業”篇行業
- 『高階篇』docker之kubernetes搭建叢集新增認證授權(上)(38)Docker
- .NET Framework 高階開發Framework