『高階篇』docker之開發使用者服務(12)
這節我們們開始開發使用者服務,上次透過python開發的資訊服務已經開發完畢。原始碼:
使用者服務的分析
使用者服務使用java語言進行開發,對外透過thift的介面,依賴於下面的資訊服務,後端有資料庫,開發一個服務,首選需要設計對外的介面,都給別人提供什麼樣的服務。
使用者服務介面建立
- pom編輯
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=""
xmlns:xsi=""
xsi:schemaLocation=" ">
<parent>
<artifactId>ms-server</artifactId>
<groupId>com.idig8</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.idig8</groupId>
<artifactId>user-thrift-service-api</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.10.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
- 建立對應這個介面提供服務的thrift
namespace java com.idig8.thrift.user
struct UserInfo{
1:i32 id,
2:string username,
3:string password,
4:string realName,
5:string mobile,
6:string email
}
service UserService{
UserInfo getUserById(1:i32 id)
UserInfo getUserByName(1:string username);
void regiserUser(1:UserInfo userInfo);
}
- 命令生成java對應的介面類
thrift --gen java -out ../src/main/java user-service.thrift
沒有建立環境變數,直接在目錄下生成的,然後複製到對應的目錄下。
- 生成2個類,一個是實體類,一個對應的user-service( 這都是透過thrift自動生成的)
因自動生成原始碼太多,直接看文章頭的連線地址下載吧
- 實現user-thrift-serive-api的介面
- 推薦大家使用docker的方式安裝mysql,之前我的中級有在windows、mac環境下安裝docker的方式
# mac下
cur_dir = 'pwd'
docker stop idig8-mysql
docker rm idig8-mysql
docker run --name idig8-mysql -v ${cur_dir}/conf:/etc/mysql/conf.d -v ${cur_dir}/data:/var/lib/mysql -p 3306:3306 -e MY_ROOT_PASSWORD=root -d mysql:latest
這裡我直接使用公網的一個ip地址來遠端訪問,新建資料庫表
- user-thrift-service 使用springboot的方式
這些都是springboot的基本操作,建議看我的原始碼吧。
PS:老鐵可能感覺很亂,我把思路從頭到尾說一下
- 編寫thrift的檔案
- 建立一個api介面,也就是user-thrift-service-api,透過thrift生成對應的java類
- 建立user-thrift-service,透過pom引用user-thrift-service-api的jar包檔案。
- user-thrift-service 裡面建立service,實現裡面user-thrift-service-api的jar包介面方法。
- 透過引入mybatise 實現資料庫呼叫dao,service引入dao,完成介面
- ThriftServer 引入的介面方法,啟動服務程式碼,實現RPC開通properties裡面的埠配置
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4422/viewspace-2820607/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 『高階篇』docker之開發課程服務(15)Docker
- 『高階篇』docker之APIGateway(17)DockerAPIGateway
- 『高階篇』docker之微服務間如何通訊(六)Docker微服務
- Devops 開發運維高階篇之Jenkins+Docker+SpringCloud微服務持續整合(上)dev運維JenkinsDockerSpringGCCloud微服務
- 『高階篇』docker之服務編排三大平臺揚帆起航(21)Docker
- 『高階篇』docker之CICD(終結篇)(44)Docker
- 『高階篇』docker之瞭解kubernetes(31)Docker
- Devops 開發運維高階篇之容器管理dev運維
- Spring Cloud Alibaba | Sentinel: 服務限流高階篇SpringCloud
- 『高階篇』docker之gitlab和jenkins安裝(42)DockerGitlabJenkins
- 『高階篇』docker容器來說微服務導學(一)Docker微服務
- 『高階篇』docker之Mesos叢集架構圖(23)Docker架構
- 《docker高階篇(大廠進階):7.Docker容器監控之CAdvisor+InfluxDB+Granfana》DockerUX
- MySQL高階12-事務原理MySql
- 測試開發之網路篇-常用服務協議協議
- 微服務之服務註冊和服務發現篇微服務
- 02 . Ansible高階用法(運維開發篇)運維
- 跟我學SpringCloud | 第十篇:服務閘道器Zuul高階篇SpringGCCloudZuul
- 『高階篇』docker之kubernetes搭建叢集新增認證授權(上)(38)Docker
- 大量蘋果高階服務中斷,iPhone使用者受到影響蘋果iPhone
- 【社招】【小米】golang服務端(高階)研發工程師Golang服務端工程師
- Spring定時任務高階使用篇Spring
- .NET Core微服務開發服務間呼叫篇-GRPC微服務RPC
- (六)spring cloud微服務分散式雲架構-服務閘道器Zuul高階篇SpringCloud微服務分散式架構Zuul
- SpringBoot高階篇MongoDB之如何新增文件Spring BootMongoDB
- 測試開發之系統篇-Docker常用操作Docker
- 服務治理之重試篇
- Docker實現服務發現Docker
- Spring事務(Transaction)管理高階篇一棧式解決開發中遇到的事務問題Spring
- 白話阿里巴巴Java開發手冊高階篇阿里Java
- Jenkins 使用指南 之 高階應用篇Jenkins
- 測試開發之系統篇-Docker容器安裝Docker
- 低程式碼開發平臺解決方案之“金融服務行業”篇行業
- Docker學習之搭建MySql容器服務DockerMySql
- spring cloud-之使用docker部署服務SpringCloudDocker
- 高階篇:獨立開發者 5 分鐘入門 ASO
- SpringBoot高階篇MongoDB之修改基本使用姿勢Spring BootMongoDB
- nginx高階篇rewriteNginx