1. 程式人生 > >優雅的對API進行內部升級改造

優雅的對API進行內部升級改造

優雅的對API進行內部升級改造

  • 背景

   隨著業務的快速發展老的系統將逐漸的無法快速支撐現有業務迭代重構一個必然的過程;然而在底層業務系統重構的過程中,對外提供的API也同時需要進行相應的升級替換;推動外部呼叫方替換新的API是十分艱難而漫長的過程,因此往往很多時候不得不需要在舊的API內部進行改造升級。舊API的內部改造。。。老程式碼介面無單測邏輯慘不忍睹!!! 如何能避免不改動老的程式碼優雅的完成介面的內部改造升級?

  • 實現方案
    • 利用自定義註解+aop不侵入舊程式碼進行切換
    • 利用redis 對介面進行灰度控制來保證業務邏輯平滑過渡

    • 部分程式碼    

自定義註解部分:

 

             Aspect部分:

老的V1版本API添加註解:

              V2版本API

 

  • 達到比較優雅目的:

a.內部升級不去改動慘不忍睹的老程式碼

b.方便測試人員進行兩個版本的API即實現邏輯進行比對測試

c.利用灰度開關平滑的進行過渡

d.後續外部呼叫方進行主動替換升級版本改動小

 

&n