精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

去一家小公司從0到1搭建后端架構,做個總結!

開發 架構
來騰訊之前在前公司做了3年的后端開發,經歷一款SaaS產品從0到10(還沒有到100, 哈哈哈)的過程,3年間后端的架構逐步演變,在微服務的實踐過程中遇到的問題也越來越多,在這里總結下。

來騰訊之前在前公司做了3年的后端開發,經歷一款SaaS產品從0到10(還沒有到100, 哈哈哈)的過程,3年間后端的架構逐步演變,在微服務的實踐過程中遇到的問題也越來越多,在這里總結下。

產品是一款服務于人力資源的SaaS在線服務,面向HR有Web Android/iOS 小程序多個客戶端,后端采用RESTful風格API來提供服務。主要使用Python語言,方便快速迭代。

架構的演進經歷了4個大的階段:1. MVC 2. 服務拆分 3. 微服務架構 4. 領域驅動設計

1. MVC

項目剛開始的時候,后端同事不超過5個,這個階段主要的工作是實現產品的原型,沒有太多的考慮架構,使用Django來快速實現功能,DB的表結構設計好之后,抽象出功能View,由于產品設計也很不完善,后端需要很多的預留設計,避免產品邏輯的變更帶來整個表結構的變動,在這個階段代碼上最重要的是確定適合團隊的代碼規范,代碼檢查規則。

整體上架構如上圖,Nginx負責負載均衡,分發流量到多個Django服務,Django處理邏輯,需要異步任務就交給Celery,然后數據量比較大的地方使用Redis做緩存。同時還有實時消息通知的需要使用了Nginx Push Module。

問題與優化方式:

1、Django并發性能差 使用uWSGI Master+Worker 配合 gevent 攜程支持高并發

2、Redis連接數過多 使用redis-py自帶的連接池來實現連接復用

3、MySQL連接數過多 使用djorm-ext- pool(https://github.com/djangonauts/djorm-ext-pool)連接池復用連接

4、Celery配置gevent支持并發任務

隨著開發的功能越來越多,Django下的app也越來越多,這就帶了發布上的不方便,每次發布版本都需要重啟所有的Django服務,如果發布遇到問題,只能加班解決了。而且單個Django工程下的代碼量也越來越多,不好維護。

2. 服務拆分

隨著后端團隊的壯大,分給每個同事的需求也越來越細,如果繼續在一個工程里面開發所有的代碼,維護起來的代價太高,而我們的上一個架構中在Django里面已經按模塊劃分了一個個app,app內高類聚,app之間低耦合,這就為服務的拆分帶來了便利。

拆分的過程沒有遇到太大的問題,初期的拆分只是代碼的分離,把公用的代碼抽離出來實現一個公用的Python庫,數據庫,Redis還是共用,隨著負載的增加,數據庫也做了多實例。

如上圖,服務之間盡量避免相互調用,需要交互的地方采用http請求的方式,內網的調用使用hosts指向內網地址。

問題與優化方式:

  •  Nginx Push Module由于長時間沒有維護,長連接最大數量不夠,使用Tornado + ZeroMQ實現了tormq(https://github.com/zhu327/tormq)服務來支撐消息通知

服務之間的調用采用http的方式,并且要求有依賴的服務主機配置hosts指向被調用的地址,這樣帶來的維護上的不方便。以及在調用鏈的過程中沒有重試,錯誤處理,限流等等的策略,導致服務可用性差。

隨著業務拆分,繼續使用Nginx維護配置非常麻煩,經常因為修改Nginx的配置引發調用錯誤。每一個服務都有一個完整的認證過程,認證又依賴于用戶中心的數據庫,修改認證時需要重新發布多個服務。

3. 微服務架構

首先是在接入層引入了基于OpenResty的Kong API Gateway,定制實現了認證,限流等插件。在接入層承接并剝離了應用層公共的認證,限流等功能。在發布新的服務時,發布腳本中調用Kong admin api注冊服務地址到Kong,并加載api需要使用插件。

為了解決相互調用的問題,維護了一個基于gevent+msgpack的RPC服務框架doge,借助于etcd做服務治理,并在rpc客戶端實現了限流,高可用,負載均衡這些功能。

在這個階段最難的技術選型,開源的API網關大多用Golang與OpenResty(lua)實現,為了應對我們業務的需要還要做定制。前期花了1個月時間學習OpenResty與Golang,并使用OpenResty實現了一個短網址服務shorturl用在業務中。

最終選擇Kong是基于Lua發布的便利性,Kong的開箱即用以及插件開發比較容易。性能的考量倒不是最重要的,為了支撐更多的并發,還使用了云平臺提供的LB服務分發流量到2臺Kong服務器組成的集群。集群之間自動同步配置。

餓了么維護一個純Python實現的thrift協議框架thriftpy,并提供很多配套的工具, 如果團隊足夠大,這一套RPC方案其實是合適的,但是我們的團隊人手不足,水平參差不齊,很難推廣這一整套學習成本高昂的方案。最終我們開發了類Duboo的RPC框架doge,代碼主要參考了weibo開源的motan。

4. 領域驅動設計

在這一架構中我們嘗試從應用服務中抽離出數據服務層,每一個數據服務包含一個或多個界限上下文,界限上下文類只有一個聚合根來暴露出RPC調用的方法。數據服務不依賴于應用服務,應用服務可以依賴多個數據服務。有了數據服務層,應用就解耦了相互之間的依賴,高層服務只依賴于底層服務。

在我離職時領域驅動設計還在學習設計階段,還沒有落地,但是我相信前公司的后端架構一定會往這個方向繼續演進。

總結

架構的設計,技術的選型,不能完全按照流行的技術走,最終還是服務于產品,服務于客戶的需求。設計過程中由于團隊,人員的結構問題,有很多的妥協之處,如何在妥協中找到最優解才是最大的挑戰。

Service Mesh這種新一代的微服務架構正在成為主流,雖然現在的工作與微服務無關了,但是也還會繼續關注學習。 

 

責任編輯:龐桂玉 來源: Java知音
相關推薦

2015-06-23 10:30:24

2010-03-09 11:24:54

2011-08-11 11:32:54

云計算收購

2015-03-02 15:04:44

年輕開發者開發者平凡的故事

2023-06-02 13:37:00

CIOIT領導者

2015-10-26 09:10:38

程序員加薪新方法

2017-07-10 09:47:42

互聯網金融技術

2023-03-06 11:35:55

經營分析體系

2017-10-30 09:09:41

2024-09-26 10:19:15

2017-08-31 18:19:00

程序猿軟件職場

2016-10-19 16:33:29

2014-02-26 10:59:45

程序員經理

2022-03-15 11:51:00

決策分析模型

2011-08-22 10:20:17

研發

2014-08-18 09:59:04

2018-09-10 13:02:48

人工智能AI創業公司

2013-06-08 17:32:49

2011-04-13 09:46:35

應用開發移動應用

2021-01-27 07:24:38

TypeScript工具Java
點贊
收藏

51CTO技術棧公眾號

久操视频在线免费观看| 天天操精品视频| 欧美日韩视频精品二区| 三级在线观看一区二区| 色噜噜亚洲精品中文字幕| 亚洲欧美自偷自拍另类| av网站在线看| www.66久久| 国产精品精品国产| 欧美精品一区二区蜜桃| 亚洲国产网址| 这里只有精品视频在线观看| 777久久精品一区二区三区无码| 天天摸天天碰天天爽天天弄| 蜜臀久久99精品久久久画质超高清| 久久精品视频在线播放| 性久久久久久久久久久| 久久精品超碰| 午夜亚洲福利老司机| 日韩欧美在线电影| 亚洲精品喷潮一区二区三区| 久久精品主播| 久精品免费视频| 91精彩刺激对白露脸偷拍| 久久综合给合| 欧美在线免费观看视频| 国产高清av在线播放| 色综合久久影院| xf在线a精品一区二区视频网站| 91精品国产综合久久香蕉922| aaa人片在线| 欧美日韩免费观看一区=区三区| 亚洲偷欧美偷国内偷| 超碰caoprom| 国产一区二区三区黄网站| 日韩欧美999| 青青青在线观看视频| 日本中文字幕在线视频| 久久久不卡网国产精品二区| 国产日韩欧美一区二区| 国产成人免费看一级大黄| 日韩和欧美的一区| 青草热久免费精品视频| 日韩乱码人妻无码中文字幕| 亚洲乱码精品| 久久视频在线观看免费| 老司机精品免费视频| 国产成人精品999在线观看| 亚洲国产婷婷香蕉久久久久久 | 精品成人无码一区二区三区| 国产精品一线| 亚洲成人网久久久| 看全色黄大色黄女片18| 91蝌蚪精品视频| 欧美不卡一二三| wwwxxxx在线观看| 警花av一区二区三区| 91精品国产乱码久久蜜臀| 福利视频999| 2019中文亚洲字幕| 欧美精品 国产精品| 污视频网址在线观看| 另类一区二区三区| 欧美日韩一级黄| 天天操狠狠操夜夜操| www.欧美| 日韩精品一区二区三区中文不卡| 国产男女无遮挡猛进猛出| 欧美一级片网址| 日韩免费福利电影在线观看| 黑人巨大猛交丰满少妇| 成人影院中文字幕| 日韩电影在线观看中文字幕| 不卡一区二区在线观看| 国产欧美日韩在线一区二区| 夜夜嗨av一区二区三区四区 | 成人h动漫精品一区二区无码| 国产一区 二区 三区一级| 3d精品h动漫啪啪一区二区| 国产超碰人人模人人爽人人添| 国产成人av一区| 国产精品一区二区三区免费| 亚洲av成人精品毛片| 久久久蜜桃精品| 亚洲国产午夜伦理片大全在线观看网站 | 国产精品三上| 国产精品999999| 国产精品视频久久久久久| 丰满放荡岳乱妇91ww| 女人一区二区三区| 欧美黑人激情| 亚洲福利视频导航| 韩国视频一区二区三区| 99er精品视频| 亚洲精品日韩久久久| 日韩不卡av在线| 欧美日韩国产一区精品一区| 日本最新高清不卡中文字幕| 一级爱爱免费视频| www.视频一区| 亚洲综合首页| 9999在线视频| 欧美日韩一区二区在线视频| 中文字幕在线播放一区二区| 久久99国内| 欧美理论电影在线播放| 国产一级淫片a视频免费观看| 国内成人免费视频| 欧美重口乱码一区二区| av在线免费网站| 色呦呦日韩精品| 精品人妻一区二区乱码| 精品不卡一区| 美女少妇精品视频| 波多野结衣日韩| 成人国产在线观看| 伊人狠狠色丁香综合尤物| zzzwww在线看片免费| 欧美久久久一区| 日韩av在线看免费观看| 韩国自拍一区| 亚洲精品日韩av| 国产二区视频在线观看| 天天综合天天做天天综合| 亚洲男人天堂2021| 青青草91久久久久久久久| 97成人超碰免| www.四虎在线观看| 国产精品久久久久久久浪潮网站| 欧美日韩黄色一级片| 国产精品一区二区美女视频免费看 | 国产三级精品在线观看| 国产日韩欧美在线一区| 国模无码视频一区二区三区| 亚洲不卡在线| 久久久精品国产| 中文字幕在线观看高清| 国产亚洲精品精华液| 男人靠女人免费视频网站| 第四色在线一区二区| 精品中文字幕乱| 99久久精品国产一区色| 亚洲日本在线视频观看| 高潮一区二区三区| 天天做天天爱天天爽综合网| 国产精品一久久香蕉国产线看观看| 手机亚洲第一页| 激情成人在线视频| 一级国产黄色片| 99热免费精品在线观看| 国内精品二区| 日本不卡网站| 亚洲欧美中文日韩在线v日本| 成人午夜淫片100集| 91在线免费播放| av动漫在线观看| 性欧美lx╳lx╳| 情事1991在线| www.av在线播放| 欧美三级韩国三级日本一级| 欧美自拍偷拍网| 久久99精品久久久| 91麻豆天美传媒在线| 日本精品国产| 97国产suv精品一区二区62| 凸凹人妻人人澡人人添| 色综合久久久久综合99| 亚洲女优在线观看| 蜜桃av噜噜一区| 天天爱天天做天天操| 日韩精品一级| 午夜欧美不卡精品aaaaa| 欧美日韩伦理片| 欧美日韩免费一区二区三区| 午夜精品福利在线视频| 成人综合在线网站| 日本中文字幕片| 91精品综合久久久久久久久久久| 91久久中文字幕| av影片在线| 在线观看国产欧美| 国产福利免费视频| 欧美日韩国产一区中文午夜| 亚洲v国产v欧美v久久久久久| 精品综合免费视频观看| 亚洲色欲久久久综合网东京热| 亚洲伊人春色| 国产日产久久高清欧美一区| 丁香花在线影院| 在线电影av不卡网址| 国产黄频在线观看| 日韩欧美在线观看| 日韩一级片av| 久久亚洲综合av| 亚洲国产午夜精品| 亚洲影视综合| 日韩不卡一二区| 妖精一区二区三区精品视频| 成人免费xxxxx在线观看| 好吊日av在线| 正在播放亚洲1区| 六月婷婷综合网| 欧美视频三区在线播放| 久久久国产精品黄毛片| 国产色综合一区| 国产精品成人免费一区久久羞羞| 日精品一区二区| a级免费在线观看| 91偷拍一区二区三区精品| 国产精品一区二区你懂得| 午夜不卡一区| 日韩av电影在线播放| 美女精品视频| 久久久999精品| 高清国产福利在线观看| 亚洲高清一二三区| 国产日韩欧美一区二区东京热| 日韩欧中文字幕| 国产无遮挡免费视频| 成人欧美一区二区三区视频网页 | 久久久精品天堂| 中文字幕乱妇无码av在线| 男男视频亚洲欧美| 男人揉女人奶房视频60分| 国产精品草草| 热这里只有精品| 色婷婷一区二区三区| 欧美极品一区| 老司机在线精品视频| 99理论电影网| 国产视频一区二| 成人av资源在线播放| 成人mm视频在线观看| 欧美中在线观看| 国产激情视频在线看| 欧美日本黄视频| 综合久久2o19| 久久69精品久久久久久久电影好 | 成人小视频在线看| 亚洲激情成人| 男人添女荫道口图片| 欧美精品激情| 欧美在线观看视频免费| 亚洲最大黄网| 麻豆一区二区三区在线观看| 国产精品88久久久久久| 在线看视频不卡| 91欧美日韩| 无码人妻精品一区二区三区99v| 欧美电影《睫毛膏》| 日韩中文字幕一区| 成人综合专区| 在线国产精品网| 911久久香蕉国产线看观看| 永久免费精品视频网站| 久久国产亚洲精品| 国产精品亚洲天堂| 亚洲最新色图| 人妻av无码专区| 在线亚洲伦理| 超碰网在线观看| 日韩高清不卡一区二区三区| 日韩免费毛片视频| 美腿丝袜一区二区三区| 网站在线你懂的| 成人午夜在线播放| 国产国语性生话播放| 国产婷婷色一区二区三区四区| 国产精品www爽爽爽| 成人免费在线观看入口| 成人免费毛片东京热| 亚洲二区在线观看| 亚洲黄网在线观看| 欧美精品v国产精品v日韩精品| www夜片内射视频日韩精品成人| 精品国产一区二区三区av性色| 欧美熟妇另类久久久久久不卡| 亚洲激情小视频| 成人欧美亚洲| 欧美精品免费看| 亚洲优女在线| 国产免费一区二区三区在线观看 | 亚洲一区视频| 怡红院亚洲色图| 成人av在线一区二区| 亚洲区免费视频| 亚洲欧美经典视频| 丰满少妇乱子伦精品看片| 欧美最新大片在线看| 国内毛片毛片毛片毛片| 亚洲另类图片色| 国产淫片在线观看| 51精品在线观看| 国产精品亚洲欧美一级在线 | 人妻一区二区三区免费| 亚洲开心激情网| 高清全集视频免费在线| 欧美亚洲国产日韩2020| 国产精品久久久久久久久久辛辛| 韩日午夜在线资源一区二区| 色天天综合网| 大陆极品少妇内射aaaaa| 麻豆精品国产传媒mv男同| 91精品又粗又猛又爽| 国产精品久久免费看| 国产黄色片免费看| 日韩一级片网址| 成人免费在线电影| 高清欧美电影在线| 日本久久二区| 欧美日韩高清免费| 一区视频在线| 国产欧美一区二| 久久久久久久久97黄色工厂| 久久久久97国产| 欧美军同video69gay| 国产污视频在线| 性视频1819p久久| 国产欧美日韩电影| 日韩中文字幕一区二区| 国产偷自视频区视频一区二区| 香蕉视频xxx| 中文字幕日韩av资源站| 日本免费精品视频| 日韩精品中文字幕久久臀| а√资源新版在线天堂| 国产男女猛烈无遮挡91| 日韩成人一级| 黄色一级视频在线播放| 国产乱国产乱300精品| 刘亦菲国产毛片bd| 色播五月激情综合网| 午夜av免费在线观看| 久久久亚洲影院你懂的| 日韩一区二区三区高清在线观看| 亚洲黄色一区二区三区| 日韩高清一级片| 免费看黄色的视频| 一本久久精品一区二区| 同心难改在线观看| 久久久在线免费观看| 中文无码日韩欧| 毛片在线视频观看| 国产成人精品免费视频网站| 九九热国产在线| 精品美女在线播放| 日本三级在线观看网站| 不卡一区二区三区视频| 欧美日韩国产一区精品一区| wwwxxx色| 亚洲成人综合在线| 欧美 日韩 国产 在线| 91精品国产亚洲| 欧美美女在线直播| 播放灌醉水嫩大学生国内精品| 91天堂素人约啪| 亚洲黄网在线观看| 综合久久五月天| 国产亚洲高清一区| 男人的天堂avav| 不卡的av电影| av黄色在线播放| 中文字幕亚洲一区在线观看| 国产三级一区| 99视频精品全部免费看| 国产.精品.日韩.另类.中文.在线.播放| 九九热只有精品| 精品视频在线播放| 欧美日韩尤物久久| 中文字幕欧美日韩一区二区| 国产剧情一区在线| 香蕉视频一区二区| 亚洲免费影视第一页| 国产成人精选| 日韩一级免费看| 久久久久国产一区二区三区四区 | 日韩欧美中文字幕公布| 国产美女一区视频| 欧美日韩精品免费看| 久久精品国产成人一区二区三区| 国产av无码专区亚洲av毛网站| 精品对白一区国产伦| 裤袜国产欧美精品一区| 综合操久久久| 成人国产免费视频| 姑娘第5集在线观看免费好剧| 欧美超级免费视 在线| 日韩美脚连裤袜丝袜在线| 男女视频在线看| 亚洲国产一区二区a毛片| 狠狠狠综合7777久夜色撩人| 91天堂在线视频| 亚欧成人精品| 亚洲色婷婷一区二区三区| 亚洲欧洲在线视频| 久久伊人久久| 国产 porn| 亚洲www啪成人一区二区麻豆| 成人精品一区二区三区校园激情| av一区二区三区免费|