成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

接手外包團隊開發的微服務項目,我感覺我的頭快要裂開了

開發 項目管理
網絡上涌現著眾多微服務開源腳手架,它們吸引用戶的方式是將各種功能一股腦地集成進去。然而,它們往往只是告訴你“如何集成”卻忽略了“為什么要集成”。

嗨,大家好,我是飄渺。

最近,我和小伙伴一起接手了一個由外包團隊開發的微服務項目,這個項目采用了當前流行的Spring Cloud Alibaba微服務架構,并且是基于一個“大名鼎鼎”的微服務開源腳手架(附帶著模塊代碼截圖,相信很多同學一看就能認出來)。然而,在這段時間里,我受到了來自"外包"和"微服務"這雙重debuff的折磨。

今天,我想和大家分享一下我在這幾天中遇到的問題。希望這幾個問題能引起大家的共鳴,以便在未來的微服務開發中避免再次陷入相似的困境。

1、服務模塊拆分不合理

絕大部分網上的微服務開源框架都是基于后臺管理進行模塊拆分的。然而在實際業務開發中,應該以領域建模為基礎來劃分子服務。

目前的服務拆分方式往往是按照團隊或功能來拆分,這種不合理的拆分方式導致了服務調用的混亂,同時增加了分布式事務的風險。

2、微服務拆分后數據庫并沒拆分

所有服務都共用同一個數據庫,這在物理層面無法對數據進行隔離,也導致一些團隊為了趕進度,直接讀取其他服務的數據表。

這里不禁要問:如果不拆分數據庫,那拆分微服務還有何意義?

3、功能復制,不是雙倍快樂

在項目中存在一個基礎設施模塊,其中包括文件上傳、數據字典、日志等基礎功能。然而,文件上傳功能居然在其他模塊中重復實現了一遍。就像這樣:

圖片圖片

4、到處都是無用組件堆徹

在項目的基礎模塊中,自定義了許多公共的Starter,并且這些組件在各個微服務中被全都引入。比如第三方登錄組件、微信支付組件、不明所以的流程引擎組件、驗證碼組件等等……

圖片圖片

圖片圖片

拜托,我們已經有自己的SSO登錄,不需要微信支付,還有自己的流程引擎。那些根本用不到的東西,干嘛要引入呢?

5、明顯的錯誤沒人解決

這個問題是由上面的問題所導致的,由于引入了一個根本不需要的消息中間件,項目運行時不斷出現如下所示的連接異常。

圖片圖片

項目開發了這么久,出錯了這么久,居然沒有一個人去解決,真的讓人不得不佩服他們的忍受力。

6、配置文件一團亂麻

你看到服務中這一堆配置文件,是不是心里咯噔了一下?

圖片圖片

或許有人會說:"沒什么問題呀,按照不同環境劃分不同的配置文件”。可是在微服務架構下,已經有了配置中心,為什么還要這么做呢?這不是畫蛇添足嗎?

7、亂用配置中心

項目一開始就明確要使用Apollo配置中心,一個微服務對應一個appid,appid一般與application.name一致。

但實際上,多個服務卻使用了相同的appid,多個服務的配置文件還塞在了同一個appid下。

更讓人費解的是,有些微服務又不使用配置中心。

8、Nacos注冊中心混亂

由于項目有眾多參與的團隊,為了聯調代碼,開發人員在啟動服務時不得不修改配置文件中Nacos的spring.cloud.nacos.discovery.group屬性,同時需要啟動所有相關服務。

這導致了兩個問題:一是某個用戶提交了自己的配置文件,導致其他人的服務注冊到了別的group,影響他人的聯調;二是Nacos注冊中心會存在一大堆不同的Group,查找服務變得相當麻煩。

其實要解決這個問題只需要重寫一下網關的負載均衡策略,讓流量調度到指定的服務即可。據我所知,他們使用的開源框架應該支持這個功能,只是他們不知道怎么使用。

9、接口協議混亂

使用的開源腳手架支持Dubbo協議和OpenFeign調用,然而在我們的項目中并不會使用Dubbo協議,微服務之間只使用OpenFeign進行調用。然而,在對外提供接口時,卻暴露了一堆支持Dubbo協議的接口。

10、部署方式混亂

項目部署到Kubernetes云環境,一般來說,服務部署到云上的內部服務應該使用ClusterIP的方式進行部署,只有網關服務需要對外訪問,網關可以通過NodePort或Ingress進行訪問。

這樣做可以避免其他人或服務繞過網關直接訪問后端微服務。

然而,他們的部署方式是所有服務都開啟了NodePort訪問,然后在云主機上還要部署一套Nginx來反向代理網關服務的NodePort端口。

結語

網絡上涌現著眾多微服務開源腳手架,它們吸引用戶的方式是將各種功能一股腦地集成進去。然而,它們往往只是告訴你“如何集成”卻忽略了“為什么要集成”。

盡管這些開源項目能夠在學習微服務方面事半功倍,但在實際微服務項目中,我們不能盲目照搬,而應該根據項目的實際情況來有選擇地裁剪或擴展功能。這樣,我們才能更好地應對項目的需求,避免陷入不必要的復雜性,從而更加成功地實施微服務架構。

最后,這個開源項目你們認識嗎?

責任編輯:武曉燕 來源: JAVA日知錄
相關推薦

2021-09-26 15:59:47

支付寶移動應用

2013-05-13 10:33:20

團隊

2024-11-19 08:36:16

2020-04-14 10:06:20

微服務Netflix語言

2018-01-15 15:00:06

工程師項目設計師

2020-01-07 14:44:09

GitHub代碼開發者

2021-04-26 18:13:37

微服務模式數據庫

2016-11-21 15:08:38

Leader工程師團隊管理

2017-07-07 19:36:06

白熊視頻技術創業在路上程序員

2020-01-07 09:18:41

微服務 MVC系統

2019-11-25 09:29:42

團隊項目經驗

2013-05-13 10:24:44

谷歌開發團隊開發管理

2023-10-12 00:07:27

Service單體微服務

2015-02-02 10:22:44

外包開發外包團隊

2009-12-17 16:47:57

APC

2016-02-18 10:05:44

360數字公司創業

2020-09-02 09:43:34

程序員法律轉行

2021-04-25 08:43:30

管理前端后端

2013-09-29 13:40:21

項目

2024-01-22 11:06:47

系統后端開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级久久久久久 | 激情一区二区三区 | 久免费视频 | 成人精品一区亚洲午夜久久久 | 久久久久久久一区 | 自拍偷拍一区二区三区 | 国产精品福利在线 | 久久不射电影网 | 成人二区三区 | www.四虎.com | 国产成人精品一区二区三区在线观看 | 妞干网视频 | 九九热精品视频在线观看 | 中文字幕一区二区三区四区五区 | 一区二区高清 | 在线成人www免费观看视频 | 国产精品99久久久久久www | 亚洲二区在线 | 国产日韩电影 | 欧美xxxx色视频在线观看免费 | 国产精品一区久久久 | 亚洲少妇综合网 | 久久久久久一区 | 精品一区二区三区在线观看国产 | 一级欧美 | 久久高清国产视频 | 亚洲欧美久久 | 日韩中文字幕在线不卡 | 四虎影院一区二区 | 中文字幕在线观看一区二区 | 欧美精品久久久久 | 自拍亚洲| 91麻豆精品国产91久久久更新资源速度超快 | 天天色综 | 免费看一区二区三区 | 国产精品美女久久久久aⅴ国产馆 | 亚洲一区二区精品视频 | 久草网址 | 91视频网址 | 污视频在线免费观看 | 精品在线一区 |