>原創文章,歡迎轉載。轉載請註明:轉載自IT人故事會,謝謝!
>原文鏈接地址:『高級篇』docker之微服務業務分析(九)從本節開始微服務的開發,說到開發有幾個問題需要解決,首先要知道我們需要開發什麼?什麼樣的業務場景,分析業務場景,有幾個微服務,每個微服務需要完成什麼樣的功能,微服務之間的關係,之間的依賴關係,他們之間是如何通迅的,這些都瞭解的之後,我們就可以進入開發階段了。
業務場景
-
用戶可以註冊和登錄
現在的登錄系統一般都是單點登錄,支持跨域,在去使用其他系統的時候就不需要登錄了,最好是不要使用session,最好是無狀態的,避免使用session。
- 登錄用戶可以對課程進行CURD操作
上邊這個不是大而全的系統,只是微服務的功能,老鐵咱們的目的很明確是搞微服務,不是學web開發的,我們通過上邊的幾個功能上從0開始瞭解微服務,一行不拉的完成開發微服務,讓大家去開發有個真切的體會的。
基本的微服務的流程
- 用戶訪問api網關
- api網關訪問2個用戶的edgeservice(java) 和 課程的edgeservice(java)
- 這2個接口提供的http協議(rest)
- 用戶的edgeservice 訪問的用戶服務
- 課程的edgeservice 訪問的課程服務
- 用戶服務對外接口是Thrift 跨語言的協議
- 課程服務對外接口使用Dubbo,只限java
- 用戶服務(java) 後端有個數據庫
- 課程服務(java) 後端也有一個數據庫
- 信息服務(python)對外接口是Thrift (用戶註冊的時候,可能發送短信,或者郵件確認可能需要信息服務)
- redis 來進行用戶的信息存儲,提供給用戶服務使用
- 課程的edgeservice 和 課程服務 通過 zookeeper 來完成服務的發現
- 用戶查詢課程 需要調用課程服務,這也就是微服務之間的調用
PS:接下來,老鐵跟我一起完成微服務的建設和搭建過程。