2017~回顧分享

来源:https://www.cnblogs.com/jaakyatoo/archive/2017/12/31/8159327.html
-Advertisement-
Play Games

# 關於後端架構設計 關註了大半年的微服務架構,現在感覺有些力不從心。IT行業的技術累積,需要時間和不斷沉澱。 對於服務架構方面設計,這一年心路成長歷程: 支付寶 先看看業內最強的支付寶系統,支付寶的支付系統整體架構設計 京東金融 來自京東支付平臺總體架構設計 京東金融是在網銀線上的基礎上發展起來的 ...


# 關於後端架構設計

  關註了大半年的微服務架構,現在感覺有些力不從心。IT行業的技術累積,需要時間和不斷沉澱。

  對於服務架構方面設計,這一年心路成長歷程:

  支付寶
  先看看業內最強的支付寶系統,支付寶的支付系統整體架構設計

  

 

 

京東金融

來自京東支付平臺總體架構設計 

京東金融是在網銀線上的基礎上發展起來的。 網銀線上的原班技術人員有不少來自易寶公司,在京東收購之後,又引入了支付寶的人才。因而從架構上受這兩個公司的影響很大。

 

 去哪兒
來自去哪兒公司分享的支付產品架構

 

 

 

支付系統從架構上來說,分為三層;

  1. 支撐層: 用來支持核心系統的基礎軟體包和基礎設施, 包括運維監控系統、日誌分析系統等。

  2. 核心層: 支付系統的核心模塊,內部又分為兩個部分: 支付核心模塊以及支付服務模塊。

  3. 產品層: 通過核心層提供的服務組合起來,對最終用戶、商戶、運營管理人員提供的系統。

支撐系統

支撐系統是一個公司提供給支付系統運行的基礎設施。 主要包括如下子系統:

  1. 運維監控: 支付系統在下運行過程中不可避免的會受到各種內部和外部的干擾,光纖被挖斷、黑客攻擊、資料庫被誤刪、上線系統中有bug等等,運維人員必須在第一時間內對這些意外事件作出響應,又不能夠一天24小時盯著。這就需要一個運維監控系統來協助完成。

  2. 日誌分析: 日誌是支付系統統計分析、運維監控的重要依據。公司需要提供基礎設施來支持日誌統一收集和分析。

  3. 簡訊平臺: 簡訊在支付系統中有重要作用: 身份驗證、安全登錄、找回密碼、以及報警監控,都需要簡訊的支持。

  4. 安全機制: 安全是支付的生命線。 SSL、證書系統、防刷介面等,都是支付的必要設施。

  5. 統計報表: 支付數據的可視化展示,是公司進行決策的基礎。

遠程連接管理、分散式計算、消息機制、全文檢索、文件傳輸、數據存儲、機器學習等,都是構建大型系統所必須的基礎軟體,這裡不再一一詳細介紹。

支付核心系統

支付核心系統指用戶執行支付的核心流程,包括:

  1. 用戶從支付應用啟動支付流程。

  2. 支付應用根據應用和用戶選擇的支付工具來調用對應的支付產品來執行支付。

  3. 支付路由根據支付工具、渠道費率、介面穩定性等因素選擇合適的支付渠道來落地支付。

  4. 支付渠道調用銀行、第三方支付等渠道提供的介面來執行支付操作,最終落地資金轉移。

支付服務系統

支持支付核心系統所提供的功能。服務系統又分為基礎服務系統、資金系統、風控和信用系統。

基礎服務系統提供支撐線上支付系統運行的基礎業務功能:

  1. 客戶信息管理:包括對用戶、商戶的實名身份、基本信息、協議的管理;

  2. 卡券管理: 對優惠券、代金券、折扣券的製作、發放、使用流程的管理;

  3. 支付通道管理: 通道介面、配置參數、費用、限額以及QOS的管理;

  4. 賬戶和賬務系統: 管理賬戶信息以及交易流水、記賬憑證等。這裡的賬務一般指對接線上系統的賬務,採用單邊賬的記賬方式。 內部賬記錄在會計核算系統中。

  5. 訂單系統: 一般訂單系統可以獨立於業務系統來實現的。這裡的訂單,主要指支付訂單。

資金系統指圍繞財務會計而產生的後臺資金核實、調度和管理的系統,包括:

  1. 會計核算: 提供會計科目、內部賬務、試算平衡、日切、流水登記、核算和歸檔的功能。

  2. 資金管理: 管理公司在各個支付渠道的頭寸,在餘額不足時進行打款。 對第三方支付公司,還需要對備付金進行管理。

  3. 清算分潤: 對於有分潤需求的業務,還需要提供清分清算、對賬處理和計費分潤功能。

風控系統是支付系統必備的基礎功能,所有的支付行為必須做風險評估並採取對應的措施;信用系統是在風控基礎上發展的高級功能,京東的白條,螞蟻花唄等,都是成功的案例。

支付應用

支撐系統、核心系統和服務系統,在每個公司的架構上應該是大同小異的,都是必不可少的模塊。而支付應用是每個公司根據自己的業務來構建的,各不相同。 總的來說,可以按照使用對象分為針對最終用戶的應用、針對商戶的應用、針對運營人員的運營管理、BI和風控後臺。

 

# 關於前端和後端的區別

首先前端分為 UI設計,UED用戶體驗設計,前端開發等等,web前端開發用到的諸多技術(JavaScript,JQuery,TypeScript,Vue,Node,ReactNative,AngularJS,CSS3,HTML5,ES6等等)我們簡稱這些為 類庫,像構建項目的腳手架有很多(yeoman,Gulp、webpack等等)

這麼多成熟的技術框架基本取決於你的需求,好用的框架技術有很多,某些技術適合做某個模塊的功能(比如HTMl適合做web頁面設計,JS更能提高HTML的交互邏輯)。一般性來說前端更註重用戶的視覺敏感度,其邏輯也相對於後端更加簡潔清晰明瞭,如果有興趣可以選擇前端開發工作。

後端也就是所謂的網路編程,其原理很簡單(通過前端交互數據來增加業務邏輯),其用到的最為廣泛的(Java,PHP,Go,ASP,.Net,C++)等等,其中Java相對於其他編程語言更適合做後端開發,學習成本較低 思想深奧,有相應成熟的技術體系和成熟的開發團體,PHP屬於腳本語言,經過幾個版本的迭代,現在所占市場份額不亞於Java,不過在大型系統和強大的後端邏輯裡面幾乎很少見,不是在惡意貶低,其開發成本和運營成本遠低於java,最後就是google推出的Go語言,我個人認為go更像java的衍生版,其內在優化了許多,現在也有相應的成熟團隊,開發成本和運營成本也相對較低。C# 和 .Net在2000年左右還是現對於比較火的,包括現在的新浪,騰訊,百度,京東,等等知名的公司前身都是採用這些技術。阿裡巴巴旗下的淘寶,最早採用的PHP,後面慢慢轉向Java,包括前面提到的那些大公司。不過說這麼多,騰訊是最為奇葩的一個,整個平臺運營十幾年,最早的 QQ空間竟然用CGI寫的,比較註重C++ 這種古老的開發語言。不過C相對其他領域的編程語言更適合做底層交互。

說了這麼多,其實java後端現在玩的東西較多,比如Maven,Redis,Echen,Spring等等,此處有機會慢慢分享

## 關於前端學習路線
基礎篇:

【CSS3】 前端必學之路,起CSS3樣式

【HTML5】 只需記住HTML標簽和作用即可

【JavaScript】 作為瀏覽器腳本語言,必學

【JQuery】至今最為流行的開發類庫,必學

JavaScript 設計模式 以下鏈接:http://www.cnblogs.com/chen-jie/p/JavaScript-Composite.html


最近帶前端妹紙,感覺自己在技術鑽研的程度上永遠跟不上,大問題沒有,小問題一堆,關於妹紙的想法有很多,在這裡我就不隱瞞自己啦,或多或少的對妹紙有點傾慕之情,但是我已表露不出太多感情了,那種掏心掏肺的日子相信大家都有,也不會對妹紙太多的期待;只希望我能帶她融入這個圈子,在這個看臉的社會為她增添一點硬實力,期待太多,失望越多,控制好自己的執念;有些時候執念這玩意兒給自己帶來太多痛苦,原因都很簡單 就是希望能得到,但是現實得不到的只能會給自己增添一份傷感和無情。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 事件可以是瀏覽器行為也可以是用戶行為。 比如頁面文檔內容載入完成或者用戶滑鼠點擊等。 當一個事件發生的時候,需要特定的行為來響應這個事件,所以要為事件註冊事件處理函數。 代碼實例: 為按鈕註冊click事件處理函數,當點擊按鈕的時候,此函數就會執行。 本章節只是簡單介紹一下JavaScript事件的 ...
  • 一.HTML簡單介紹: HTML是Hypertext Markup Language的英文縮寫,即超文本標記語言。 它是一種標記語言而非編程語言,由瀏覽器解釋支持。 html文件是一種文本文件,可以用記事本打開,當然也可以用其他開發工具,比如dreamweaver和VS等等。通過在文本中添加各種標簽 ...
  • 現在我們的Redux和React Redux已經基本實現了,在Redux中,觸發一個action,reducer立即就能算出相應的state,如果我要過一會才讓reducer計算state呢怎麼辦?也就是我們如何實現非同步的action呢?這裡就要用到中間件(middleware) 1. 中間件(mi ...
  • CSS vs. JS Animation: 哪個更快? CSS vs. JS Animation: 哪個更快? 基於JavaScript的動畫竟然已經默默地比CSS的transition動畫快了?而且,Adobe和 Google竟然一直在發佈可以媲美原生應用的富媒體移動站點? 這篇文章將會逐點講解基 ...
  • 使用WebGL + Three.js製作動畫場景 3D圖像,技術,打造產品,還有互聯網:這些只是我愛好的一小部分。 現在,感謝WebGL的出現-一個新的JavaScriptAPI,它可以在不依賴任何插件的情況下渲染瀏覽器中的3D圖像-這讓3D渲染操作變得異常簡單。 隨著虛擬現實和增強現實應用的發展, ...
  • MobX入門 本文嘗試解釋MobX是如何運作的。我們將用MobX創建一個小案例。如果你正在找靠譜的MobX文檔,可以去看 "官方文檔" 。 什麼是MobX 官方文檔的解釋:簡潔,易擴展的狀態管理。簡單來說,MobX可以很好的管理應用程式的狀態/數據,同時又簡潔,易擴展。先來看一張圖: 我們通過上圖的 ...
  • 七牛雲儲存 nodejs qiniu 模塊 信息配置 文件路徑formUploader.putFile方法 文件位元組方法formUploader.put ** 該方法七牛不支持 buffer類,可使用Buffer.toString()進行轉換 可讀流上傳方式formUploader.putStrea ...
  • 自從上次分享《Redis到底該如何利用?》已經有1年多了,這1年經歷了不少。從碼了我們網站的第一行開始到現在,我們的緩存模塊也不斷在升級,這之中確實略有心得,最近也有朋友探討緩存,覺得可以總結並分享一下拙見,期待能有更深入的研究。 緩存是什麼? 我時常在群里或者在社區里看到有人對緩存有諸多疑問,搞不 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...