日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分布式场景实战第七节 微服务场景实战

發(fā)布時間:2024/3/24 编程问答 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式场景实战第七节 微服务场景实战 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

18 如何處理好微服務之間千絲萬縷的關系?

17 講講解了服務間數(shù)據(jù)依賴的場景,除了這種場景之外,其實我們還會碰到服務間依賴太雜亂的場景,這一講我們將圍繞這個場景進行討論,還是先把整個場景描述一下。

業(yè)務場景(架構經歷十四)

在我們之前設計的一個供應鏈系統(tǒng)中,它包含了商品、銷售訂單、加盟商、門店運營、門店工單等服務,涉及了各種用戶角色,比如總部商品管理、總部門店管理、加盟商員工、門店人員等,而且每個部門的角色還會進行細分。而且這個系統(tǒng)中還包含了兩個客戶端 App:一個面向客戶,另一個面向公司員工和加盟商。

此時,整個供應鏈系統(tǒng)的架構如下圖所示:

圖 1

上圖中的網關層主要負責路由、認證、監(jiān)控、限流熔斷等工作。

  • 路由: 所有的請求都需要通過網關層進行處理,網關層再根據(jù) URI 將請求指向對應的后臺服務,如果同一個服務存在多個服務器節(jié)點,網關層還將承擔負載均衡的工作。

  • 認證: 對所有的請求進行集中認證鑒權。

  • 監(jiān)控: 記錄所有的 API 請求數(shù)據(jù),API 管理系統(tǒng)能對 API 調用實現(xiàn)管理和性能監(jiān)控。

  • 限流熔斷: 流量過大時,我們可以在網關層實現(xiàn)限流。如果后臺服務響應延時或故障,我們可以主動在調用端的上游服務做熔斷,以此保護后端服務資源,同時不影響用戶體驗。

此時,我們的架構看起來是不是挺完美?且市面上標準的 Spring Cloud 架構都是這樣做的。不過,這個架構會出現(xiàn)一些問題,下面我們先通過幾個例子來看看。

案例一:

在這個供應鏈系統(tǒng)中,很多界面都需要顯示多個服務數(shù)據(jù),比如在一個 App 首頁中,針對門店運營人員,需要顯示工單數(shù)量、最近的工單、銷售訂單數(shù)據(jù)、最近待處理的訂單、低于庫存安全值的商品等信息。

此時第一個問題來了,在接口設計過程中,我們經常糾結將兩個客戶端 App 調用的接口存放在哪個服務中?以至于決策效率低下,而且還會出現(xiàn)職責劃分不統(tǒng)一的情況。

最終我們決定將第一個接口存放在門店服務中,此時調用關系如下圖所示:

圖 2

并將第二個接口存放在工單服務中,此時調用關系如下圖所示:

圖 3

案例二:

一個用戶的提交操作常常需要修改多個服務數(shù)據(jù),比如一個提交工單的操作,我們需要修改庫存、銷售訂單狀態(tài)、工單等數(shù)據(jù)。

此時第二個問題出現(xiàn)了,因為這樣的需求非常多,所以服務經常被其他多個服務調來調去,導致服務之間的依賴非?;靵y,最終服務調用關系如下圖所示:

圖 4

通過上圖,我們發(fā)現(xiàn)服務間的依賴問題給技術迭代帶來了地獄般的體驗,關于這點我們已經在 15 講中進行了細致講解,這里就不過多贅述。

為了解決這 2 個問題,最終我們決定抽象一個 API 層。

API 層

一般來說,客戶端的接口需要滿足聚合、分布式調用、裝飾這三種需求。

  • 聚合:一個接口需要聚合多個后臺服務返回的數(shù)據(jù),并將數(shù)據(jù)返回給客戶端。

  • 分布式調用:一個接口可能需要依次調用多個后臺服務,才能實現(xiàn)多個后臺服務的數(shù)據(jù)修改。

  • 裝飾:一個接口需要重新裝飾后臺返回的數(shù)據(jù),比如刪除一些字段或者對某些字段進行封裝,然后組成客戶端需要的數(shù)據(jù)。

因此,我們決定在客戶端與后臺服務之間增加一個新的 API 層,專門用來滿足上面的三點需求,此時整個架構如下圖所示。

圖 5

從圖中我們發(fā)現(xiàn),所有請求經過網關后,全部交由一個共用的 API 層進行處理,而該 API 層沒有自己的數(shù)據(jù)庫,它的主要職責是調用其他后臺服務。

通過這樣的設計方案后,以上兩個問題就得到了很多地解決。

  • 應該將某個接口放在哪個服務的糾結次數(shù)減少了: 如果是聚合、裝飾、分布式的調用邏輯,我們直接把它們放在 API 層。如果是要落庫或者查詢數(shù)據(jù)庫的邏輯,目標數(shù)據(jù)在哪個服務中,我們就把數(shù)據(jù)和邏輯放在哪個服務中。

  • 后臺服務之間的依賴也大幅減少了: 目前的依賴關系只有 API 層調用各個后臺服務。

此時,我們的設計方案完美了吧?別高興得太早,還會出現(xiàn)新的問題。

客戶端適配問題

在這個供應鏈系統(tǒng)中,一系列的接口主要供各種客戶端(比如 App、H5、PC 網頁、小程序等)進行調用,此時的調用關系如下圖所示:

圖 6

不過,這種設計方案會存在 3 個問題:

  • 不同客戶端的頁面細節(jié)的需求可能不一樣,比如 App 的功能比重大,就會要求頁面中多放一些信息,而小程序的功能比重小,同樣的頁面就會要求少放一些信息,以至于后臺服務中同一個 API 需要針對不同客戶端實現(xiàn)不同適配;

  • 客戶端經常需要進行一些輕微的改動,比如增加一個字段/刪除一個字段,此時我們必須采取數(shù)據(jù)最小化原則來縮減客戶端接口的響應速度。而且,為了客戶端這種細微而頻繁的改動,后臺服務經常需要同步發(fā)版;

  • 結合 #1 和 #2 我們發(fā)現(xiàn),在后臺服務的發(fā)版過程中,常常需要綜合考慮不同客戶端的兼容問題,這無形中增加了 API 層為不同客戶端做兼容的復雜度。

這時該如何解決呢?我們就可以考慮使用 BFF 了。

BFF(Backend for Front)

BFF 不是一個架構,而是一個設計模式,它的主要職責是為前端設計出優(yōu)雅的后臺服務,即一個 API。一般而言,每個客戶端都有自己的 API 服務,此時整個架構如下圖所示:

圖 7

從上圖可以看到:不同的客戶端請求經過同一個網關后,它們都將分別重定向到為對應客戶端設計的 API 服務中。因為每個 API 服務只能針對一種客戶端,所以它們可以對特定的客戶端進行專門優(yōu)化。而去除了兼容邏輯的 API 顯得更輕便,響應速度還比通用的 API 服務更快(因為它不需要判斷不同客戶端的邏輯)。

除此之外,每種客戶端還可以實現(xiàn)自己發(fā)布,不需要再跟著其他客戶端一起排期。

此時的方案挺完美了吧?還不完美,因為上面的方案屬于一個通用架構。在實際業(yè)務中,我們還需要結合實際業(yè)務來定,下面我們深入說明一下實際業(yè)務需求。

前面我們列出了 5 種服務,實際上,整個供應鏈系統(tǒng)將近有 100 種服務。因為它是一個非常龐大的系統(tǒng),且整個業(yè)務鏈條的所有工作都包含在這個系統(tǒng)中,比如新零售、供應鏈、財務、加盟商、售后、客服等,,這就需要幾百號研發(fā)人員同時進行維護。

因為我們共同維護一個 App、PC 界面、新零售、售后、加盟商,還有各自的小程序和 H5,所以為了實現(xiàn)業(yè)務解耦和分開排期,每個部門需要各自維護自己的 API 服務,而且 App 與 PC 前端也需要根據(jù)部門實現(xiàn)組件化,此時的架構如下圖所示。

圖 8

針對以上需求,我們如何在技術架構上進行實現(xiàn)呢?下面具體來看看。

技術架構上如何實現(xiàn)?

我們的整套架構還是基于 Spring Cloud 設計的,如下圖所示:

圖 9

下面我們簡單介紹下圖中網關、API服務、后臺服務的作用。

  • 網關: 網關使用的是 Spring Cloud Zuul,Zuul 將拉取的注冊存放在 ZooKeeper 的 API 服務中,然后通過 Feign 調用 API 服務。

  • API 服務: API 服務其實就是一個 Spring Web 服務,它沒有自己的數(shù)據(jù)庫,主要職責是聚合、分布式調用及裝飾數(shù)據(jù),并通過 Feign 調用后臺服務。

  • 后臺服務: 后臺服務其實也是一個 Spring Web 服務,它有自己的數(shù)據(jù)庫和緩存。

此時的方案看著很完美了,不過它會出現(xiàn) API 之間代碼重復問題。此時我們該如何解決?且往下看。

如何解決 API 之間代碼重復問題?

雖然 H5 與小程序的布局不同,但是頁面中很多功能一致,也就是說重復的代碼邏輯主要存在 PC API 和 App API 中。

然而,針對重復代碼的問題,不同部門在設計時會呈現(xiàn) 3 種不同的邏輯:

  • 某些部門將這些重復的代碼存放在一個 JAR 中,讓幾個 API 服務實現(xiàn)共用;

  • 某些部門將這些重復的代碼抽取出來,然后存放在一個叫 CommonAPI 的獨立 API 服務中,其他 API 服務直接調用這個 Common API 就行;

  • 某些部門因為重復邏輯少,通過評估后,他們發(fā)現(xiàn)維護這些重復代碼的成本小于維護 #1 中的 JAR 或者 #2 中的 CommonAPI 服務,所以會繼續(xù)讓這些重復代碼存在。

假如某些 API 服務提供接口的出入參與后臺服務的一致,此時該怎么辦? 此時 API 服務的接口無須做任何事情,因為它只是一個簡單的代理層。

于是,有同事提出:“每次一看到這些純代理的 API 接口就不爽,我們能不能想辦法把它們去掉?!鞭k法倒是有幾個,我們一起來看看。

  • 網關直接繞過 API 服務調用后臺服務,不過這樣就會破壞分層,所以很快被否掉了。

  • 在 API 服務層做一個攔截器,如果 URI 找不到對應 API 服務中的 controller mapping,就會直接通過 URI 找后臺服務并進行調用。不過這種方式將大大增加系統(tǒng)的復雜度,出問題時調查起來更麻煩且收益不大。而寫這些無腦代碼不僅成本低,整體的接口列表還更可控。

綜合考慮后,最終我們決定保留無腦的代碼。

后臺服務與 API 服務的開發(fā)團隊如何進行分工?

最后我們是這樣分工的:專門的 API 開發(fā)團隊負責 API 服務,而后臺服務需要根據(jù)領域再劃分小組的職責。

這種劃分方式的好處在于 API 團隊能對所有服務有個整體認識,且不會出現(xiàn)后臺服務劃分不清晰、工作重復的情況。而壞處在于 API 團隊整體業(yè)務邏輯偏簡單,長久留不住人。

總結與預告

這里我得坦誠說明一下:其實 18 講中關于 BFF 的內容只占了一小部分,我們主要講解了后臺服務的分層設計。如果你有更好的后臺服務分層設計的方案,歡迎在留言區(qū)進行互動、交流。

19 講、20 講我們將進入開發(fā)運維的模塊,一起討論如何讓開發(fā)效率更高效。

另外,喜歡本專欄的同學,歡迎分享給更多的好友看到哦。


20 一人一套測試環(huán)境:測試環(huán)境何時能釋放出來使用?

這一講我們開始講第十六次架構經歷:一人一套測試環(huán)境。這個經歷還蠻特別的,因為網上很少有人講解這樣的方案。

業(yè)務場景(架構經歷十六)

當時,我們公司的基礎設施使用的是虛擬機,且還未遷移到容器。

我們一共搭建了 3 套測試環(huán)境。之所以搭建了 3 套之多而不是只有 1 套,主要是考慮到多個并行項目同時進行時,需要實現(xiàn)分開測試和分開上線。而 3 套測試環(huán)境在一定程度上可以避免這些并行項目因為排隊導致延期的情況。

一般來說,研發(fā)流程是這樣的:需求宣講 ——> 接口/方案設計 ——> 功能開發(fā) ——> 聯(lián)調 ——> 測試 ——> 預生產 ——> 上線。

在這 3 套測試環(huán)境中,有 1 套專門用于聯(lián)調,另外 2 套專門用于測試。

那么,1 套聯(lián)調測試環(huán)境夠用嗎? 答案是不太夠,因為我們經常需要排期使用。那么 2 套測試環(huán)境夠用嗎?還是不夠。這里,我講一個具體的例子你就明白了。

之前我們有一個項目已經上了測試環(huán)境,功能測試反饋沒問題后就等第三方驗收了,可是第三方的驗收拖了很久,以至于我們不得不繼續(xù)占有這套測試環(huán)境。

之后,又有一個小的迭代項目要求下周四上線,并且還有一個上百人做的超大項目剛進入測試階段,這就需要 2 套測試環(huán)境。此時測試環(huán)境立馬不夠用了,而且聯(lián)調環(huán)境都被征用了。

然后,業(yè)務方還提了一個加急需求要求本周四上線,于是出現(xiàn)了下面這段對話。

“我們有個緊急需求這周四要求上線,你們能不能把測試 1 讓一下?”
“不行啊,我們這個功能需要測試一周,下周四就要上線了。如果讓給你們一天,我們就要延期一天上線了?!?br /> “其實是 2 天……”
“那更不行。要不你問問 XX,他們正在做的項目周期長,應該能勻給你們兩天?!?br /> “不行吧,那個項目號稱公司第一優(yōu)先級,我開不了口啊?!?br /> “不然你們就用測試 3?”
“我哪敢啊,那個驗收項目是領導親自跟的?!?br /> “可是我們也不能延期啊,業(yè)務方都確認過很多次了,我們也跟合作伙伴談好了。”
“……”

后面就是因為搶測試環(huán)境的問題,導致我們的緊急需求上不了線,有苦也沒地方說。

在實際工作中,一個組同時開展好幾個項目的情況經常發(fā)生,尤其是業(yè)務對接方比較多的小組。為此,我們決定好好解決這個問題。

解決思路

我們希望達成的目標是可以快速搭建一套新的測試環(huán)境,使用完立馬銷毀。

針對這個目標,我們的解決思路是這樣的:

  • 利用容器的特性,在幾秒內快速啟動了服務實例;

  • 將測試環(huán)境需要搭建的服務通過容器實例部署起來;

  • 將這些容器通過 Kubernetes 管理(編排)起來。

那么,這一整套測試環(huán)境都需要包含哪些服務器呢?請看下圖所示內容。

圖 1

以上就是每套測試環(huán)境中需要部署的組件。

決定使用容器靈活創(chuàng)建測試環(huán)境后,我們曾經對每一套容器環(huán)境是包含全部組件還是部分特定組件調研了很久。

使用過容器的開發(fā)人員都知道,在容器中部署 MQ、ZooKeeper、Redis 或配置中心是一件很簡單的事情。比如使用容器部署 Redis,我們只需要輸入如下 2 行命令就可以搞定。

$ docker pull redis
$ docker run --name a-redis-name -d redis

而使用容器部署 ZooKeeper、MQ 的方法也是類似。不過,這里有點不一樣的是我們公司所有的中間件基本不是純潔的開源版本。比如配置中心,我們并沒有使用 Spring Cloud Config,也沒有使用 Nacos,而是使用了一個完全自研的產品(包括 MQ 和網關都是自研),它既不支持容器,也不支持單機版。而 ZooKeeper、Redis 是基于開源版本,并在服務端加了一些封裝。

此時,客戶端強制我們使用一個自定義的客戶端 SDK,且使用的中間件必須強綁定配置中心。

之前我們評估過,如果把這些中間件部署到容器中,將會出現(xiàn)如下 3 種情況。

  • 中間件服務端改造成本大;

  • 客戶端的 SDK 需要進行大量的改造;

  • 最重要的一點是會導致容器環(huán)境與其他普通環(huán)境存在很大的代碼差異。因此,就算我們在容器中測試沒問題,還需要在其他環(huán)境進行大量測試,此時容器測試環(huán)境就沒有什么意義了。

為此,最終我們決定在容器測試環(huán)境中只部署獨立的 API 服務或后端服務,其他組件直接重用測試環(huán)境的中間件,如下圖所示:

圖 2

基于以上設計方案,如果我們想快速部署一套獨立的測試環(huán)境,一般需要解決哪些問題?因為我們的容器測試環(huán)境復用了測試環(huán)境的一些組件,所以需要解決如下 5 個問題。

1. API 服務間的隔離

如何確保容器環(huán)境的客戶端請求到達容器的 API 服務?而非容器環(huán)境的客戶端還是正常到達測試環(huán)境的 API 服務?

原來系統(tǒng)是這么設計的:每一個 API 服務中都會帶一個配置項 channelID,然后客戶端每次訪問 API 時都需要帶上一個 channelID 參數(shù)。網關層接收到這個請求后,會根據(jù) channelID 將請求匹配到對應 channelID 的 API 服務中(當然 URI 也需要匹配),此時整個隔離過程就比較簡單了。

先介紹一下具體的研發(fā)流程:每個項目都有一個 JIRA Issue,而 XXXX123 這個項目就是一個 JIRA Issue ID,我們會為每個項目單獨起一套容器測試環(huán)境,于是這個 Issue ID 自然而然地被當作了環(huán)境標識。

再回到 API 的隔離,一般來說,客戶端會把上面 channelID 放在配置文件中,等到容器測試時再打一個包,此包中 channelID 的配置值為 JIRA Issue ID 就是容器測試環(huán)境的標識。最后,我們會在容器環(huán)境打包 API 服務時,自動將 channelID 的配置值改為 JIRA Issue ID。

具體的調用請求處理過程如下圖所示:

圖 3

在圖中,我們發(fā)現(xiàn)網關層接收到所有請求后,會根據(jù)不同的 channelID 將請求分發(fā)到不同的 API 服務中。這樣,API 服務的隔離問題就解決了。

2. 后臺服務間的隔離

如何確保容器環(huán)境部署的服務只調用容器服務?而測試環(huán)境虛擬機的服務只調用虛擬機服務?

原本系統(tǒng)是這樣設計的:在打包 RPC 服務時,我們將一個環(huán)境變量 env 的值設置為容器測試環(huán)境的標識,也就是 JIRA Issue ID,比如 XXXX123。然后每個 RPC 服務注冊 ZooKeeper 時,我們將在 service 的 meta data 中加一個 tag,并設置 tag 的值為 XXXX123。之后,RPC 服務只會調用同樣 tag 的服務,什么意思呢?

比如測試環(huán)境中有 3 個 UserService,其中 1 個是測試環(huán)境的虛擬機,2 個是容器測試環(huán)境部署的 UserService,前者的 tag 為空,后兩個容器 UserService 注冊 ZooKeeper 后,它們的 tag 值分別為 XXXX123 和 XXXX245。另一個 OrderService 調用 UserService 時,如果 Order Service 也是 XXXX123 這個容器環(huán)境的服務,則它只會調用帶 XXXX123 這個 tag 值的 UserService;如果它是正常虛擬機的服務,則只會調用不帶 tag 值的 UserService。

這樣,后臺 RPC 服務間的隔離問題就搞定了。

這里,你會發(fā)現(xiàn)以上要點中我們并沒有提及 ZooKeeper,因為 API 和 RPC 服務的隔離問題解決后,ZooKeeper 的數(shù)據(jù)隔離問題基本也解決了。其實,ZooKeeper 在每套測試環(huán)境中起的作用只是 API 服務和 RPC 服務的注冊發(fā)現(xiàn)。

3. MQ 和 Redis 隔離

如何確保容器環(huán)境和虛擬機之間的 MQ 消息不互串、Redis 數(shù)據(jù)不互相影響。

本來我們想使用類似 tag 的概念解決這個問題,通過封裝 MQ 與 Redis 的客戶端代碼,讓他們只消費同樣 env 環(huán)境變量值的服務生產的內容。

但是,我們還需要遵循這么一個原則:盡量減少容器測試環(huán)境與正式環(huán)境的代碼差異。針對這個問題,我們討論了很久,覺得沒必要專門定制,只需保證走測試流程時使用不同的測試數(shù)據(jù)就可以了(本來不同的項目就會使用不同的測試數(shù)據(jù),包括不同的用戶、不同的訂單等),這樣基本不會再出現(xiàn)不同容器測試環(huán)境流轉同樣的 MQ 消息、緩存數(shù)據(jù)的情況了。

當然,Redis 中的一些通用數(shù)據(jù)還是會共同使用,比如城市之類的基礎數(shù)據(jù)。不過,這些數(shù)據(jù)就算不同容器測試環(huán)境之間互相串聯(lián)也不要緊。

4.配置中心數(shù)據(jù)的隔離

對于配置是這樣設計的,如果容器測試環(huán)境的值與虛擬機測試環(huán)境的值不一樣,我們不會修改配置中心的值,而是在容器環(huán)境的啟動腳本中動態(tài)加上針對各自容器測試環(huán)境的環(huán)境變量,然后在業(yè)務代碼中啟動環(huán)境變量優(yōu)先級高于配置中心的參數(shù),這樣就確保了容器測試環(huán)境的特殊配置,從而不影響配置中心的值。

5.數(shù)據(jù)庫間的數(shù)據(jù)隔離

數(shù)據(jù)庫互相影響的情況一般分為如下兩種:

(1)測試數(shù)據(jù)互相影響

這點其實跟 MQ/Redis 的情況一樣,我們只需要保證測試數(shù)據(jù)各自獨立就可以了。

(2)數(shù)據(jù)庫結構兼容問題

這個問題是這樣的,比如同時進行 2 個項目,XXXX123 這個項目刪除了 user 這張表的 updateFlag 字段,而 XXXX100 這個項目還需要使用這個字段。此時如果 2 個項目共用 1 個數(shù)據(jù)庫就會互相影響。

其實,這點我們在 03 講 中有談過,每次版本迭代時,我們都需要保證數(shù)據(jù)庫可以兼容前一個版本的代碼。比如剛剛那個例子,我們不會直接在 XXXX123 中刪掉 updateFlag 字段,而是等 XXXX123 上線了后再刪掉。

關于數(shù)據(jù)庫兼容前一個版本,我再舉一個例子,比如我們在 XXXX123 這個項目中增加了 1 個字段,且 updateUserId 字段的值為必填,不然數(shù)據(jù)就會報錯。而 XXXX100 這個項目并不會更新 updateUserId,這樣如果 XXXX123 讀到了 XXXX100 寫入的數(shù)據(jù)就會報錯。

這種情況該如何處理呢?此時我們可以在項目 XXXX123 中增加一些代碼讓它可以容錯,即允許 updateUserId 為空。我們也可以將項目 XXXX123 與 項目 XXXX100 部署到不同測試環(huán)境的數(shù)據(jù)庫中。

解決完上面這些問題后,基于現(xiàn)有測試環(huán)境快速部署多套容器環(huán)境的思路就沒啥大問題了,接下來我們再簡單介紹一下使用流程。

使用流程

我們的使用流程是這樣的,每次新建一個工程時(新的 API 或者后臺服務),我們都會在 Jenkins 上配置一個 Job,而這個 Job 需要接受如下 3 個參數(shù)。

  • Branch:需要部署的代碼分支;

  • 測試環(huán)境: test1/test2/test3(已經有 3 個測試環(huán)境,它決定了部署需要使用哪個測試環(huán)境的中間件);

  • 容器測試環(huán)境標識: 也就是 JIRA Issue ID。

這個 Job 啟動時,我們需要調用一個小工具,而這個小工具需要連接 Kubernetes 創(chuàng)建namespace(=JIRA Issue ID ),然后在 namespace 中增加一個 pod(pod 中運行的是專門為 JIRA Issue ID 打包的代碼)。

在做某個項目時,比如 XXXX123 需要使用 UserAPI、UserService、OrderService、ProductService,我們會配置一個新的 Jenkins Job 聯(lián)動 UserAPI、UserService、OrderService、ProductService 的 Job,并且將各個服務對應的 Branch、測試環(huán)境和 JIRA Issue ID 傳入 Jenkins Job 中(這些值都通過 hard code 配置在新的 Jenkins Job 中)。之后,每次點擊這個項目的 Jenkins Job,我們就可以對這個項目的容器測試環(huán)境進行部署了。

當然,如果項目成員想自己部署一套環(huán)境,此時只需單獨配置一個新的 Jenkins Job,并找一個不一樣的(比如開發(fā)任務的 Issue ID)容器測試環(huán)境標識就行了。

通過這套方案,我們就可以實現(xiàn)如下所示的效果了。

圖 4

從此以后,我們再也不用在聯(lián)調測試時求人了。

一人一套測試環(huán)境的方案成本其實非常小,因為代碼改動很少,且 1 周半就可以把整個方案實施完成(時間主要花在申請服務器和部署 Kubernetes)。

此方案上線后,得到了使用者的一致好評,尤其是測試同學,這里我總結了三點原因:

  • 再也不需要因為協(xié)調測試環(huán)境花很多時間溝通了;

  • 一鍵就可以將相關服務部署起來,不像以前需要一個服務一個服務部署;

  • 因為容器測試環(huán)境的搭建很簡單,開發(fā)人員每完成一個功能,測試人員即可介入測試,而不需要等整個項目提測后再介入,大大縮短了提測后的測試周期。

總體來說,這個項目的效果非常棒,而且后面容器測試環(huán)境基本上保持人均一套的使用頻率。

總結與預告

到這里,我的 16 次架構經歷也就講完了。接下來的結束語,我們不講架構經歷了,將通過 3 次真實的經歷分享老板到底想要一個什么樣的架構師。

如果你有更好的方案或者本文有什么疏漏的地方,歡迎在留言區(qū)進行互動、交流。

另外,如果你喜歡本專欄,歡迎分享給更多的好友哦。

為了不斷提升課程服務質量,這里有一份課程改進的問卷,請你抽出幾分鐘的時間填寫一下。同時,我們會根據(jù)內容反饋,挑選 5 名用戶各贈送專欄 1 個。

問卷鏈接:https://wj.qq.com/s2/7871076/3f7f


結束語 如何成為老板不可或缺的人?

本專欄的所有課程到這里就全部更新完了,感謝你看完了我的 16 次架構經歷。

此時,我想很多人還存在這么一個疑問:如何成為一個優(yōu)秀的架構師?在這個問題上,我覺得應該分為兩種情況:第一種是成為面霸型架構師,第二種是成為老板眼中不可或缺的人。

如果你想成為一個面霸型架構師,我認為你只需做到以下 2 點就行:

  • 把我的 16 次架構經歷讀透,并深入理解背后能解決哪些場景問題;

  • 將 16 次架構經歷背后涉及的技術原理搞清楚。

我相信等你把這兩點搞清楚后,在面試過程中一定能成功秒殺面試官。接下來,我們主要討論一下如何成為一個老板眼中不可或缺的人。

這里我之所以將這兩種情況分開來講,是因為面霸型的架構師真不一定是老板眼中不可或缺的人,我先分享幾段個人真實的經歷你就能明白了。

經歷一

在工作第三年的時候,我認識了一個老板,他當時開了一家國外外包公司。因為覺得我技術不錯,所以他一直希望我能去他們公司就職,不過我沒答應,只是提議可以當兼職顧問。

某天周六,這個老板打電話跟我說:“我們的系統(tǒng)出現(xiàn)了一個問題,做了某個操作后,整個頁面凍結住了,怎么點都沒有用,目前技術人員還沒有頭緒,但是客戶一直在催,想請你幫忙看看什么問題?!?/p>

我打開系統(tǒng)看了一下,整個界面的確是無法點擊、輸入了。后來,我重現(xiàn)了好幾次這個問題,發(fā)現(xiàn)整個界面沒法點擊時顏色好像有點不一樣,是不是將一個透明浮層置頂了?

最終答案也出來了,的確是由于一個 bug 導致浮層沒退出。那為什么他們的技術人員都沒有頭緒呢?因為他們都是后端開發(fā),JS 經驗比較少??戳宋业膫€人經歷,你應該猜得出來我也是偏后端。此時我可以跟老板說:“我是后端,所以這個問題不屬于我的領域范圍嗎?”

對于老板而言,他們并不在乎我們的職責是什么?老板最在乎的是我們是不是可以幫他解決技術問題。

經歷二

這個經歷是我在外企碰到的一個問題,我們先看看下面這段對話。

有一天,公司 SVP 跑過來問我:“XXX,你有沒有覺得我們的開發(fā)速度慢?是不是我們的技術不行?”

“你能跟我詳細說說哪些地方開發(fā)速度慢嗎?”

“產品的人跟我說,他們現(xiàn)在提的需求經常需要好幾個月才能上線,有時候一個簡單改文字的需求都是如此?!?/p>

關于這個問題,一時半會兒我也解釋不清楚,因為一開始溝通就不在一個維度上。因為開發(fā)者認為的開發(fā)速度慢指從開始開發(fā)到最終上線的時間久,而領導們認為的開發(fā)速度慢指一個需求從提出來到最終上線的時間久。

在這里我想問一下:你覺得開發(fā)速度慢算一個技術問題嗎?要我說可算也可不算。

針對上面這個問題,最終我們坐一起討論了下,并列出了所有影響開發(fā)效率的因素,如下表所示:

注意:表中我們只是列舉了部分問題進行說明。

針對這些影響因素,最終我們決定能通過技術解決的就通過技術解決。因此,有時領導提的問題并不是一個單純的技術問題,我們需要將其轉化為具體的技術解決方案。

此時,你可能想說:開發(fā)效率低這種事情不是應該找架構師嗎?這個不是管理的問題嗎?下面我們接著看一段經歷。

經歷三

曾經,我們有一個新的項目,它的需求影響面比較大,功能點比較多。在架構設計時,如果還是基于原來的系統(tǒng)將會出現(xiàn)一系列問題,因為原來的系統(tǒng)做了 4年了,架構時間相對比較久。

此時,一個架構師趁機提議道:“我們能不能趁著這次需求將架構進行更新。”

之后,這位架構師就著這個問題與另一位負責這個項目的技術總監(jiān)進行了討論,并提交了相應的提案,提案中陳述了新架構的代價和好處。代價是需要多花 3 周時間進行研發(fā),好處是系統(tǒng)會更穩(wěn)定、問題會更少、迭代速度會更快。

因為 CTO 是產品出身,聽這位架構師的陳述后不明覺厲,于是爽快地同意了,接下來項目直接進入如火如荼的開發(fā)階段。

當然,在實際業(yè)務中,任何一個項目都會出現(xiàn)各種各樣的變數(shù),比如業(yè)務方說這個需求之前沒考慮清楚,還有一部分流程遺漏,我們必須先把它解決了,不然系統(tǒng)用不了。于是,業(yè)務人員臨時變更了需求。再比如更新新架構時,有些系統(tǒng)需要進行遷移,而有些系統(tǒng)不需要遷移,但是在實際做的過程中我們發(fā)現(xiàn),原來決定不遷移的一個系統(tǒng)由于數(shù)據(jù)庫耦合的問題,此時也必須遷移了。再比如,一些同學對新架構不熟悉,需要多花點兒時間上手。

面對這些突發(fā)事件,項目就很容易延期。于是,出現(xiàn)了下面這段對話。

某一個會上,CTO 說:“咱們的架構師不行啊,這次系統(tǒng)上線后,如果性能不穩(wěn)定,就把他開了?!?/p>

我們詫異地問道:“為什么?還有其他原因嗎?”

CTO 說:“你看我們這個項目,本來 1 個半月就可以完成,加了新架構的遷移后變成了 2 個多月完成,現(xiàn)在都快拖成 3 個月了,這明顯是架構師的問題啊。早知道是這樣的話,我們還不如不遷移新架構呢。”

我們就幫他開脫:“這其實也不全是架構師的問題,不是還有一些需求變更嗎?”

CTO 說:“我知道啊,那些需求我看了,改動并不大,不至于拖上 1-2 個月?!?/p>

我們都沉默了,心里面 OS:“當初討論遷移新架構,你也是同意了啊?!?/p>

CTO 離開后,我們兩個總監(jiān)私底下商量:“一定要保住這個架構師,不能讓他一個人背鍋?!?/p>

后來,有一次與 CTO 吃飯,他跟我們解釋道:“我的壓力也很大,本來跟老板說好了多久就可以上線,結果拖了兩個月。當時我也跟老板解釋了架構遷移的事,老板本來是同意的,可是第二個月就把架構遷移的事忘到九霄云外了,因為他壓根兒對軟件研發(fā)沒概念。”

在整件事情中架構師有錯嗎?好像沒錯啊。

事后,我們也回顧了一下整件事情,之所以是架構師背鍋,關鍵原因在于我們對架構師的期望不一致,比如我們期望開發(fā)效率高還是系統(tǒng)穩(wěn)定性好?抑或是復雜問題的突破?因此,在真正解決問題之前,我們必須搞清楚領導對我們的期望值。

這里,我把關于如何成為老板不可或缺的架構師的要點總結為以下三點:

  • 別在乎個人職責和邊界是什么?我們需要在乎是否能夠幫助老板解決實際技術問題;

  • 有時候領導談的問題并不是單純的一個技術問題,我們需要把領導的問題轉化成技術可以解決的問題;

  • 我們需要搞清楚同事和領導的期望值,也是最重要的一點。

以上就是我的三段個人經歷,它們并不能作為所有公司的評判標準。因為一名優(yōu)秀的架構師的定義可以從很多維度上進行闡述。

不過,我也不期待一篇文章就能讓你懂得如何成為老板不可或缺的人,我只希望這篇文章能給你一點啟發(fā)。如果你能從中感同身受,那將是我莫大的榮幸了。

最后,感謝你花時間看完了我所有的課程,希望它對你有幫助。如果你覺得此專欄有價值,歡迎轉發(fā)給更多的朋友。

我是韋木,有興趣的同學,也可以關注我的公眾號,“大木韋”。

好了,我們的《軟件架構場景實戰(zhàn) 22講》今天已經全部更新完了,為了不斷提升課程服務質量,這里有一份課程改進的問卷,請你抽出幾分鐘的時間填寫一下。同時,我們會根據(jù)內容反饋,挑選 5 名用戶各贈送專欄 1 個。


總結

以上是生活随笔為你收集整理的分布式场景实战第七节 微服务场景实战的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

精品国产乱码久久久久久浪潮 | 青春草国产视频 | 91精品国产91久久久久福利 | 免费观看成人av | 九九精品久久久 | 国产精品免费观看国产网曝瓜 | 91免费版在线观看 | 久热国产视频 | 在线亚洲精品 | 欧美激情视频免费看 | 国产黄 | 999久久久久久久久久久 | 人成在线免费视频 | 日韩欧美精品在线 | 亚洲综合网站在线观看 | 国产69精品久久久久99尤 | 亚洲综合网站在线观看 | 国产在线 一区二区三区 | 亚洲精品视频免费在线观看 | 亚洲精品高清视频 | 91成人在线观看高潮 | 亚洲精品高清一区二区三区四区 | 免费日韩 精品中文字幕视频在线 | 中文字幕日韩无 | 国内精品美女在线观看 | 欧美一级片免费在线观看 | 日韩动漫免费观看高清完整版在线观看 | 成人精品视频 | 色网址99 | 色综合天天狠天天透天天伊人 | 91精品婷婷国产综合久久蝌蚪 | 欧美日韩中文国产 | 国产成人av电影在线观看 | 亚洲精品视频免费 | 国产精品高清一区二区三区 | 涩av在线 | 狠狠色丁香久久婷婷综合_中 | 91精品视频观看 | 91精品看片| 亚洲综合一区二区精品导航 | 免费a v在线| 香蕉视频国产在线观看 | 操少妇视频 | 日本精品视频在线观看 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 奇米影视8888在线观看大全免费 | 久久综合九色综合久99 | 亚洲精品国产综合99久久夜夜嗨 | 国产视频精品视频 | 99视频在线免费播放 | 成人在线免费看视频 | 国产色婷婷| 欧美性色xo影院 | 911免费视频 | av无限看| 国产香蕉视频在线播放 | 欧美激情视频一区二区三区免费 | 国产自偷自拍 | 欧美日韩国产二区 | 在线观看视频黄色 | 成人久久18免费网站 | 91污视频在线 | 亚洲激情| 久久精品成人 | 日本mv大片欧洲mv大片 | 亚洲视频精品 | 国产精久久久 | 国产破处视频在线播放 | 日韩欧美有码在线 | 国产 日韩 在线 亚洲 字幕 中文 | 欧美性久久久 | 亚洲综合色网站 | www.com.黄 | 国产精品久久久777 成人手机在线视频 | 懂色av懂色av粉嫩av分享吧 | 99精品毛片| 一级淫片在线观看 | 欧美一区二区三区不卡 | 狠狠色丁婷婷日日 | 中文字幕人成人 | 91精品婷婷国产综合久久蝌蚪 | av免费看看 | 在线视频电影 | 欧美日韩裸体免费视频 | 久久精品一区二区三区四区 | 91在线视频免费 | 国产成人亚洲在线观看 | 在线播放 日韩专区 | 国产色久 | 五月婷婷丁香色 | 久久久综合色 | 在线国产一区二区 | 日韩免费视频播放 | 久久美女免费视频 | 欧美成人精品欧美一级乱黄 | 国产视频一级 | 成人av午夜 | 香蕉视频在线网站 | 黄色在线观看网站 | 亚洲精品h | 中文字幕超清在线免费 | 国产精品久久久久久久久软件 | 亚洲精品色婷婷 | 中文字幕精品视频 | 免费视频a | 精品国产乱码久久久久久浪潮 | 免费看污的网站 | 日本色小说视频 | 成人黄色短片 | 97超碰超碰久久福利超碰 | 97在线观| 久久无码av一区二区三区电影网 | 国产精品久久久久久久免费 | 91av影视| 国产精品美女久久久久久久网站 | 东方av在| а中文在线天堂 | 国产美女主播精品一区二区三区 | 国产一区 在线播放 | 亚洲一区二区观看 | 1024手机基地在线观看 | 精品久久久免费视频 | 亚洲天堂va | 这里只有精品视频在线 | 国产精品乱码久久久久 | 亚洲精品国产精品国自产观看 | 欧美日韩国产综合一区二区 | 7777xxxx| 99婷婷狠狠成为人免费视频 | 久草视频中文在线 | 深爱五月网 | 日日摸日日 | 日韩欧美一区二区在线观看 | 一区二区三区在线观看免费视频 | 国产精品资源 | 91视频中文字幕 | 五月婷婷中文网 | 日韩在线电影 | 亚洲女人天堂成人av在线 | 日韩欧美在线国产 | 91精品视频一区 | 在线观看国产成人av片 | 色噜噜日韩精品一区二区三区视频 | 欧美 亚洲 另类 激情 另类 | 四虎影院在线观看av | 精品在线播放视频 | 欧洲精品码一区二区三区免费看 | 中文字幕乱码一区二区 | 久久久麻豆精品一区二区 | 激情喷水 | 国产91在线观看 | 欧美国产高清 | 久久免费国产精品1 | 国产黑丝一区二区三区 | av在线电影网站 | 91av手机在线观看 | 中文字幕一区二区三区乱码不卡 | 国产精品成人一区二区 | 日韩欧美一区二区三区视频 | h动漫中文字幕 | 午夜精品久久久久久中宇69 | 久久久久激情电影 | 在线免费观看黄色大片 | 久久久久久高潮国产精品视 | 国产色资源 | 精品在线一区二区 | 欧美日本啪啪无遮挡网站 | 黄色网址在线播放 | 97在线观视频免费观看 | 精品视频999 | 天天摸夜夜添 | 国产99久久九九精品免费 | 亚洲精品字幕 | av在线播放亚洲 | 中文字幕日本在线观看 | 日韩丝袜在线 | 在线免费观看黄色大片 | 久久免费成人网 | 99久国产 | 国产v亚洲v | 午夜精品久久久久久久久久久久 | 亚洲天堂网站视频 | 黄色免费av | 伊人狠狠 | mm1313亚洲精品国产 | 99r在线| 就要色综合| av在线播放亚洲 | 黄色a一级片 | 三级在线视频观看 | 日本丶国产丶欧美色综合 | 一级黄色大片 | 99爱在线 | 久久亚洲欧美 | 欧美一区二区三区在线视频观看 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 欧美激情综合五月色丁香 | 成人免费视频视频在线观看 免费 | 欧美国产大片 | 久久精品国产亚洲精品2020 | 91爱爱电影| 免费a v在线 | 国产精品久久久久久久久久久久午夜片 | 久久免费视频8 | 欧美少妇的秘密 | 国产视频黄 | 国产日产av | 一区二区三区四区精品 | 中文字幕国语官网在线视频 | 国产经典av | 亚洲精品伦理在线 | 成人免费在线播放视频 | 久久久久麻豆 | 最近日本mv字幕免费观看 | 色资源中文字幕 | www成人精品 | 国产精品亚洲片在线播放 | 久精品在线 | 黄色av影视 | 国产精品大片在线观看 | 国产精品字幕 | 在线成人免费电影 | 中国老女人日b | 亚洲精品美女在线 | 久久久综合九色合综国产精品 | 欧美日韩另类在线观看 | 91精品视频在线观看免费 | 在线观看一 | 中文字幕精品视频 | 日韩在线观看视频一区二区三区 | 婷婷激情久久 | av午夜电影| 丁香五月亚洲综合在线 | 成人免费av电影 | 97色免费视频| 狠狠操.com | 日本免费一二三区 | 久久99在线视频 | 久久成人18免费网站 | 欧美日韩国产在线一区 | 国产手机av | 中文字幕乱码亚洲精品一区 | 国产美女精品久久久 | 国产在线精 | 欧美日本高清视频 | 欧美性受极品xxxx喷水 | www.伊人网| 中文综合在线 | 免费在线播放黄色 | 92精品国产成人观看免费 | 国产中文字幕在线 | 亚洲深夜影院 | 亚洲精品一区二区精华 | 91在线porny国产在线看 | 国产综合久久 | 99热只有精品在线观看 | 日日操狠狠干 | 日韩午夜在线播放 | 91视频高清免费 | 麻豆久久久久久久 | 999精品| 777久久久 | 成人黄色毛片 | 国产91aaa | 日韩3区 | www.亚洲视频.com | 欧美一区二区三区在线看 | 亚洲激情在线 | 黄色avwww | 亚洲精品在线观看不卡 | 日韩精品一区二区三区在线视频 | 日韩精品视频网站 | 国产乱对白刺激视频在线观看女王 | 婷婷av综合 | 涩涩伊人 | 精品国产乱码久久久久久久 | 波多野结衣视频一区二区 | 国产专区精品视频 | 亚洲91精品 | 亚洲免费精彩视频 | 日本最新高清不卡中文字幕 | 国产小视频在线免费观看 | 日韩二区在线播放 | 久久艹国产视频 | 免费视频在线观看网站 | 国产精品欧美久久久久天天影视 | 天天射天天操天天色 | 草久在线观看 | 久久在草| 成人av资源网站 | 狠狠色狠狠色终合网 | 欧美日韩免费一区 | 久久精品小视频 | 国产精品自产拍在线观看蜜 | 天天摸天天舔 | 日韩有码中文字幕在线 | 超碰在线1 | 精品国产1区2区3区 国产欧美精品在线观看 | 欧美一区二区在线看 | 人人爱爱人人 | 亚洲人成人在线 | 日本精品一二区 | 一区二区三区 中文字幕 | 美女免费黄网站 | www.在线看片.com | 天天天色综合a | av电影在线观看完整版一区二区 | 狠狠狠色丁香综合久久天下网 | 激情黄色av | 免费视频一区 | 午夜av激情| 亚洲va在线va天堂va偷拍 | 国产在线观看网站 | 亚洲成成品网站 | 九九热在线视频免费观看 | 欧美日性视频 | 玖草在线观看 | 97超碰在线视 | 狠狠88综合久久久久综合网 | av成人免费观看 | 日本大片免费观看在线 | 婷婷亚洲综合 | 欧美一级电影在线观看 | 最近2019中文免费高清视频观看www99 | 2021国产精品视频 | 精品视频久久久久久 | 天天操·夜夜操 | 免费成人黄色片 | 久久99精品久久久久久秒播蜜臀 | 久久激情久久 | 六月色| 国产成人精品一区二区三区福利 | 久久久91精品国产一区二区精品 | 99久久精品无码一区二区毛片 | 中文资源在线播放 | 不卡电影免费在线播放一区 | 免费在线电影网址大全 | 人人爱人人爽 | 丁香伊人网 | 91在线看片 | 久久免费电影网 | 欧美极品在线播放 | 日韩精品一区二区三区三炮视频 | 国产91精品一区二区麻豆网站 | 国产精品免费久久久久 | 久久精品一区二区三区国产主播 | 蜜臀久久99精品久久久无需会员 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲 中文 在线 精品 | 精品国产免费久久 | 中文字幕人成乱码在线观看 | 免费三级av| 国产一级大片在线观看 | 欧美日韩二区在线 | 深夜福利视频一区二区 | 玖玖玖在线 | 黄色99视频 | 亚洲最新精品 | 亚洲另类交 | 色婷久久| av网站手机在线观看 | 国产不卡精品视频 | 久久久免费电影 | 亚洲国产视频在线 | 热re99久久精品国产99热 | 亚洲视频专区在线 | 午夜91视频| 18久久久 | 国产中文字幕在线 | 少妇18xxxx性xxxx片 | 婷婷丁香社区 | 国产一区免费看 | 免费在线观看日韩视频 | 天天透天天插 | 欧美十八 | 在线精品观看 | 人人爱人人舔 | 欧美日韩性视频 | 国产99久久九九精品 | 免费a视频 | 成人在线观看免费 | 区一区二区三在线观看 | av电影在线播放 | 亚洲五月激情 | 国产精品麻豆果冻传媒在线播放 | h文在线观看免费 | 国产久草在线观看 | 91在线看视频免费 | 成人羞羞视频在线观看免费 | 亚洲视频电影在线 | 色的网站在线观看 | 麻豆一二三精选视频 | 日韩影视在线观看 | 狠狠干天天射 | 欧美成人亚洲 | 69中文字幕| 成人av一区二区兰花在线播放 | 久久久久电影 | 天天色天天操综合 | 在线精品视频在线观看高清 | 在线亚洲成人 | 国产97视频 | 一区二区三区在线观看 | 亚洲国产欧美在线人成大黄瓜 | 欧美日韩三级 | 日本精品中文字幕 | 国产91全国探花系列在线播放 | 欧美精品在线一区二区 | 国产一区二区高清视频 | 久久久久久久久久久久久久电影 | 97操碰 | 91视频观看免费 | 免费a级大片 | 97超碰人人澡| 最近中文字幕第一页 | 91av免费看 | 亚洲午夜精品久久久 | 国产精品 国内视频 | 日韩高清国产精品 | 国产成人三级三级三级97 | 日韩免费电影一区二区三区 | 日韩久久影院 | 免费亚洲一区二区 | 在线v片免费观看视频 | 中文字幕美女免费在线 | 欧美性生活免费看 | 色综合久| 久久99久久99免费视频 | 久久五月婷婷丁香社区 | 日韩欧美观看 | 国产一区二区精品在线 | 欧美日韩在线观看一区 | 免费看麻豆 | 久草a视频| 麻豆视频免费在线观看 | 国产精品久久久久亚洲影视 | 精品国产一二三四区 | 在线精品亚洲一区二区 | 综合国产在线观看 | 久久国产片 | 久久极品 | 国产黄色美女 | 天天综合网天天综合色 | 成人av网址大全 | 丁香婷婷射 | 91精品久久香蕉国产线看观看 | 成人a v视频 | 玖玖视频网 | 日韩区在线观看 | 国产专区在线视频 | 国产三级av在线 | 91麻豆看国产在线紧急地址 | 人人干网站 | 久久爱www. | 国产亚洲成人精品 | 一本一本久久a久久 | 久久久久久久久毛片精品 | 国产91学生粉嫩喷水 | 亚洲网久久| 亚洲激精日韩激精欧美精品 | 91高清视频在线 | 正在播放国产精品 | 成年人免费在线播放 | 超碰97中文 | 丁香5月婷婷 | 91热爆视频| 97在线视频免费 | 欧美成人黄 | av高清网站在线观看 | 久久激情片 | 狠狠地操 | 国产日韩欧美网站 | 亚洲黄色av | 久久伊人国产精品 | ,久久福利影视 | 日韩欧美在线观看一区二区三区 | 亚洲无线视频 | 色香天天| 亚洲一区二区视频 | 在线播放 日韩专区 | 成年人免费在线 | 91精品国产99久久久久 | 欧美激情视频一二区 | 97在线观看视频 | 久久99深爱久久99精品 | 青春草免费在线视频 | 人人舔人人 | 97国产在线播放 | 国产精品免费不卡 | 伊人久久婷婷 | 黄色三级免费看 | 色资源二区在线视频 | 成人avav| 亚洲精品乱码久久久久久蜜桃91 | 午夜精品福利一区二区 | 亚洲精品动漫在线 | 天天天天天天天操 | 久久综合九色欧美综合狠狠 | 91麻豆网| 97视频免费观看 | 九九免费在线观看 | 四虎永久视频 | 国产精品国产三级在线专区 | 99re在线视频观看 | 中文字幕一区av | 91视频在线免费观看 | 偷拍区另类综合在线 | 在线观看免费视频 | 亚州精品一二三区 | 日日夜夜天天人人 | 中国精品一区二区 | 一区二区三区在线视频观看58 | 成年人国产在线观看 | 国产少妇在线观看 | 在线观看一区 | av+在线播放在线播放 | 五月婷婷av | 久久久久国产精品午夜一区 | 91久久久久久久一区二区 | 91成熟丰满女人少妇 | 免费看一级片 | 国产福利精品一区二区 | 成人国产网站 | 九色福利视频 | 日韩极品视频在线观看 | 国产精品女同一区二区三区久久夜 | 狠狠色噜噜狠狠狠 | 亚洲欧美偷拍另类 | 日本免费一二三区 | 国产99爱 | 久久免费99精品久久久久久 | 热久久免费国产视频 | 成人免费视频网站在线观看 | 五月婷婷丁香激情 | 欧美激情视频一区 | 午夜av免费 | 懂色av一区二区在线播放 | 最近中文字幕大全中文字幕免费 | 中文字幕丝袜制服 | 天天色天天操天天爽 | 日韩精品在线观看av | 日韩天天干 | 日韩在线电影观看 | 亚洲视频免费 | 黄色一级免费电影 | 日韩精品久久久久久中文字幕8 | 国产中文在线观看 | 日本午夜免费福利视频 | 国产精品1区2区 | 亚洲首页| 亚洲成av人影院 | 国产 视频 久久 | 免费污片 | www.久久免费 | 免费三级黄色 | 五月婷婷久久丁香 | 美女久久视频 | 一区二区不卡在线观看 | 91看片在线播放 | 久草91视频 | av中文字幕不卡 | 高清有码中文字幕 | 久草免费手机视频 | 99在线免费观看视频 | 九九精品在线观看 | 欧美成人手机版 | 日韩黄色一级电影 | 日韩av高潮 | 天天干天天在线 | 中文字幕中文字幕在线中文字幕三区 | 亚洲春色综合另类校园电影 | 国内久久精品视频 | 麻豆精品传媒视频 | 久久综合狠狠综合久久狠狠色综合 | 狠狠色丁香婷婷综合久小说久 | aⅴ精品av导航 | 狠狠干电影 | 国产高清在线看 | 国产午夜精品一区二区三区在线观看 | 色综合婷婷 | 性色在线视频 | 国产高清专区 | 91高清完整版在线观看 | 久久狠狠干 | 在线看片一区 | 国产成人精品999在线观看 | 天天插天天干 | 欧美乱码精品一区二区 | 中文字幕日韩有码 | 成人小视频在线免费观看 | 国产精品不卡一区 | 国产伦理精品一区二区 | 国产在线观看污片 | 久久蜜臀av | 国产免费亚洲 | 97超级碰碰碰视频在线观看 | 国产成人在线免费观看 | 园产精品久久久久久久7电影 | 偷拍久久久 | 亚洲成年人在线播放 | 天天干天天综合 | 9在线观看免费高清完整版在线观看明 | 黄色小网站在线观看 | 久久中文网 | 国产亚洲aⅴaaaaaa毛片 | 毛片二区 | 99精品免费在线观看 | 激情五月开心 | 中文字幕在线中文 | 国产小视频在线播放 | 99在线精品视频在线观看 | 精品国产免费观看 | www.日日日.com | 久久久亚洲影院 | 中文字幕刺激在线 | 国产精品18久久久久vr手机版特色 | 欧美黄色高清 | 日本精品中文字幕在线观看 | 亚洲免费在线观看视频 | 欧美成年黄网站色视频 | 伊人干综合| 欧美性超爽 | 在线视频18在线视频4k | 97超碰人人模人人人爽人人爱 | 精品国产免费人成在线观看 | 日韩网站在线看片你懂的 | 国产在线观看免 | 最近更新好看的中文字幕 | 成人久久毛片 | 久久久国产精品人人片99精片欧美一 | 天天射天| 日韩免费看片 | 在线国产一区二区 | 久草视频中文在线 | 免费看三级 | 国产色女人 | 国产成人精品一区二区三区在线观看 | 国产手机在线观看视频 | 日本在线观看视频一区 | 99视频一区 | 亚洲精品一区二区久 | 国产一二区免费视频 | 国产一区二区三精品久久久无广告 | 91最新在线观看 | 亚洲日本激情 | 在线免费观看黄色 | 成人在线播放免费观看 | 亚洲国产中文字幕在线观看 | 久久网址| av青草 | 国产精品久久久久久久久久白浆 | 麻豆视频在线观看免费 | 久久久久亚洲天堂 | 婷婷色av| av片在线观看免费 | 国产一区二区网址 | 亚洲激情视频在线观看 | 欧美色黄| 美女视频黄免费网站 | 九九热视频在线 | 香蕉视频在线观看免费 | 麻豆va一区二区三区久久浪 | 午夜av免费看 | 成人在线视频你懂的 | 韩国在线视频一区 | 一区二区三区精品久久久 | 天天射天天干天天 | 69亚洲精品 | 在线免费观看视频一区二区三区 | 日韩精品中文字幕av | 国产一级片久久 | 国产亚洲精品久久久久秋 | 911国产在线观看 | 97超碰人人澡 | 日本黄色一级电影 | 黄色软件在线观看免费 | 天天爽天天碰狠狠添 | 97成人啪啪网 | 免费观看xxxx9999片 | 婷婷在线精品视频 | 福利视频导航网址 | 欧美成年网站 | www.天堂av| 久精品在线 | 亚洲砖区区免费 | 91一区啪爱嗯打偷拍欧美 | 麻豆视频一区二区 | 九九九九免费视频 | av亚洲产国偷v产偷v自拍小说 | 久久福利剧场 | 9草在线 | 久久99亚洲精品久久久久 | 狠狠色丁香婷婷综合久小说久 | 99精品国产99久久久久久97 | 欧美激情奇米色 | 亚洲黄色app | 激情av资源 | 亚洲va欧美va国产va黑人 | 六月丁香激情综合色啪小说 | 国产精品一区电影 | 人人超碰免费 | 国产二区av| 黄网站色欧美视频 | 日韩精品中文字幕在线观看 | 日b视频在线观看网址 | 久久看片网站 | 国产精品电影在线 | 丁香婷婷在线观看 | 日韩av三区 | 国产999精品 | 天天色天天色 | 久久精品久久久精品美女 | 国产一区精品在线 | www天天操| 黄色99视频 | 人人爽人人爽人人片av免 | 国产一级免费在线观看 | 国产精品中文字幕在线观看 | 成人在线免费视频观看 | 国产亚洲精品中文字幕 | 亚洲第一伊人 | 久久精品免视看 | 中文字幕在线看视频 | 韩国av电影在线观看 | 国产精品麻豆视频 | 91精品蜜桃 | 999超碰 | 日韩免费电影网站 | 国产一区二区三区免费在线 | 久久久久久久久久久免费 | 探花视频在线观看+在线播放 | 欧美aa一级片 | 高清在线一区二区 | 国产精品一区二区av日韩在线 | 九九色综合| 天天爱av导航 | 精品一区久久 | 粉嫩av一区二区三区入口 | 黄色影院在线播放 | 欧美日韩精品在线免费观看 | 日韩在线欧美在线 | 美女视频黄免费的 | 久久99精品国产99久久 | 久久视频在线观看中文字幕 | 国产精品久久久久久久久久99 | 日韩精品一区二区三区中文字幕 | 深爱五月激情网 | 日产乱码一二三区别在线 | 天堂成人在线 | 一区二区三区在线观看 | 欧美性极品xxxx娇小 | 久久免费观看少妇a级毛片 久久久久成人免费 | 久久精品中文字幕一区二区三区 | 国产精品国产精品 | 少妇bbbb搡bbbb搡bbbb | 欧美日韩免费网站 | 日韩高清一二三区 | 蜜桃视频在线视频 | 中文字幕在线一区二区三区 | 国产对白av| 日韩免费一区二区在线观看 | 国产第一页精品 | 涩五月婷婷 | 久久国产精品视频 | 日韩av手机在线看 | 久久久久综合视频 | 成人97视频| 91亚洲欧美激情 | 国产美女视频网站 | 国产麻豆精品在线观看 | 国产又粗又猛又爽又黄的视频先 | 色婷婷综合久色 | 久久狠狠亚洲综合 | 国产精品成人a免费观看 | 久久久性| 免费看一级特黄a大片 | 免费看国产黄色 | 99久在线精品99re8热视频 | 狠狠伊人| 国产中文在线视频 | 亚洲精品乱码久久久久久蜜桃不爽 | 99精品在线观看视频 | 一区二区三区高清不卡 | 日本公乱妇视频 | 一区二区三区四区五区在线 | 99久久久久| 亚洲在线看 | 日本一区二区三区免费观看 | 99热在线这里只有精品 | 人人插人人做 | 国产黄色一级片 | 97成人在线观看 | a久久久久久| 国产视频99 | 97在线观看免费观看高清 | 久久精品99国产精品日本 | 欧美日韩在线网站 | 久久精品视频5 | 亚洲天堂网在线播放 | www五月天婷婷 | 91精品视频在线 | 中文字幕a∨在线乱码免费看 | 国产精品区在线观看 | 久久久福利| 九九热在线视频 | 成人久久国产 | 国产日产精品一区二区三区四区的观看方式 | 日韩毛片在线播放 | 日本午夜在线亚洲.国产 | 亚洲一区二区高潮无套美女 | 999久久久免费视频 午夜国产在线观看 | 久草青青在线观看 | 蜜臀av夜夜澡人人爽人人桃色 | 三级动图| 精品一区二区三区久久 | 国产精品影音先锋 | 免费三级影片 | 色吊丝在线永久观看最新版本 | 狠狠亚洲 | 国产精品一区二区久久久久 | av综合av| 欧美精品v国产精品v日韩精品 | 久久精品久久久久电影 | 亚洲视频六区 | 久久久久免费网 | 精品自拍sae8—视频 | 成人性生交大片免费观看网站 | 亚洲精品视频一二三 | 国产麻豆精品久久 | 日韩精品视频网站 | 黄色app网站在线观看 | 国产精品系列在线观看 | 欧美在线视频精品 | 黄色a视频免费 | 综合色爱| 一级免费av | 久久只精品99品免费久23小说 | 3d黄动漫免费看 | 国产精品日韩欧美一区二区 | 人人要人人澡人人爽人人dvd | 欧美a在线看 | 黄色一级免费电影 | 久久久免费在线观看 | 伊人色综合久久天天网 | 丁香网五月天 | 亚洲精品玖玖玖av在线看 | 免费看的av片| 最新高清无码专区 | 国产一区二区三区四区大秀 | 男女激情片在线观看 | 精品国产中文字幕 | 国产成人精品在线播放 | 综合激情久久 | 激情视频一区二区三区 | 亚洲一区美女视频在线观看免费 | 黄色大片中国 | av在线播放中文字幕 | 国产精品日韩久久久久 | 麻豆视频免费播放 | 午夜国产福利在线 | 中文字幕影片免费在线观看 | 久久久久五月 | 菠萝菠萝蜜在线播放 | 日日夜夜天天久久 | 国产91精品一区二区麻豆网站 | 96久久精品 | 看国产黄色片 | 中文字幕在线免费观看 | 国产最新在线 | 亚洲国产日韩一区 | 午夜影院日本 | 国产高清视频在线观看 | 亚洲精品大片www | 亚洲国产中文字幕 | 在线免费av网 | 亚洲激情在线视频 | 久久久人人爽 | 欧美看片| 91在线一区二区 | 国产精品一区二区在线免费观看 | 偷拍精品一区二区三区 | 久久久久久久久久久影院 | 国产黄色高清 | 99视| 亚洲一区二区三区毛片 | 成人h动漫精品一区二 | 蜜桃视频成人在线观看 | 亚洲成人999 | 久久伦理 | 国产一二三四在线视频 | 日日爽夜夜操 | 久久久免费观看完整版 | 欧美韩国日本在线 | 日韩久久精品一区二区三区下载 | 婷婷免费在线视频 | 免费国产视频 | 欧美日本一二三 | 香蕉视频最新网址 | 欧美日韩国产色综合一二三四 | 久草在线视频网 | 91av视屏| 九九久久电影 | 国产一及片 | 五月天激情视频在线观看 | 欧美日本啪啪无遮挡网站 | 天天操天天干天天玩 | 亚洲成a人片在线观看网站口工 | 亚洲精品在线观看中文字幕 | 国产一区二区在线视频观看 | 国产精品理论片在线观看 | 久久久久久久久久久免费av | 国产无套精品久久久久久 | 高清免费在线视频 | av不卡中文字幕 | 天天操婷婷 | 久久er99热精品一区二区三区 | 欧美视频网址 | 日韩久久久久久久 | 成人av日韩| 91视频a| 成人av免费看 | 国产一二三精品 | av一级久久 | 日韩av电影免费观看 | 91爱爱免费观看 | 日韩高清免费无专码区 | 麻豆视频成人 | 91麻豆精品国产自产 | 日本久久久久久久久久久 | a视频在线观看 | 18国产精品福利片久久婷 | 天天操比 | 米奇影视7777| 精品久久久久久亚洲综合网 | 亚洲精品乱码久久久久久蜜桃91 | 丁香视频| 国产精品成人久久久久久久 | 国产亚洲va综合人人澡精品 | 国产婷婷视频在线 | 欧美最猛性xxxxx免费 | 久久99热国产 | 日韩精品久久久久 | 久久精品日产第一区二区三区乱码 | 久久激情影院 | 一级黄色大片 | 久久国产精品精品国产色婷婷 | 日韩成人邪恶影片 | 亚洲精品午夜一区人人爽 | 日本久久久久 | 激情婷婷欧美 | 黄色网在线播放 | 久久久999精品视频 国产美女免费观看 | 最新中文字幕在线观看视频 | 欧美大码xxxx| 亚洲理论电影 | 亚洲精品在线视频观看 | 国产欧美综合在线观看 | 在线观看视频一区二区三区 | 国产精品99久久久久人中文网介绍 | 国产一级高清视频 | 成年性视频 | 国产精品毛片一区视频 | 丁香电影小说免费视频观看 | 伊人伊成久久人综合网站 | 成人av播放| 欧美日韩国产在线 | 97成人啪啪网 | 天天色成人网 | 久久爽久久爽久久av东京爽 | 日韩在线首页 | 亚洲国产高清在线 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 超碰在线观看97 | 国产999精品 | 中文字幕日韩在线播放 | 国产中文a | 免费看十八岁美女 | 一区二区欧美在线观看 | 区一区二区三区中文字幕 | 五月天天天操 | 99一级片 | 色婷婷丁香| 亚洲综合欧美日韩狠狠色 | 97超碰人人澡 | 在线精品国产 | 九九视频网 | 精品国产一区二区三区久久久久久 | av大片免费在线观看 | 亚洲爱视频 | 国产一级视频在线 | 69久久99精品久久久久婷婷 | 天天干天天射天天插 | 波多野结衣在线观看一区 | 亚洲国产精品一区二区尤物区 | 一本大道久久精品懂色aⅴ 五月婷社区 | 中文字幕在线观看一区二区 | 亚洲电影久久久 | 在线看成人 |