摘要:分布式架構五大核心套件服務發現云端服務發現,一個基于的服務,用于定位服務,以實現云端中間層服務發現和故障轉移。
1 后端技術框架
我們選擇Spring Cloud作為微服務的分布式架構:
Spring Cloud vs Dubbo?
背景
Dubbo,是阿里巴巴服務化治理的核心框架,并被廣泛應用于阿里巴巴集團的各成員站點。
Spring Cloud,是Spring Source的產物,Spring社區的強大背書可以說是Java企業界最有影響力的組織了,除了Spring Source之外,還有Pivotal和Netfix是其強大的后盾與技術輸出。其中Netflix開源的整套微服務架構套件是Spring Cloud的核心。
小結:從框架影響力和可持續性上,Spring Cloud優于Dubbo。
社區活躍度
Spring Cloud仍處于高速迭代的階段。
小結:在社區活躍度上,Spring Cloud毋庸置疑的優于Dubbo,這對于沒有大量精力與財力維護這部分開源內容的團隊來說,Spring Cloud會是更優的選擇。從目前Spring Cloud的被關注度和活躍度上來看,很有可能將來會成為微服務架構的標準框架。
架構完整度
Dubbo只是實現了服務治理,而Spring Cloud下面有17個子項目(可能還會新增)分別覆蓋了微服務架構下的方方面面,服務治理只是其中的一個方面,一定程度來說,Dubbo只是Spring Cloud Netflix中的一個子集。但是在選擇框架上,方案完整度恰恰是一個需要重點關注的內容。
SpringCloud分布式架構五大核心套件:
服務發現——Netflix Eureka
云端服務發現,一個基于 REST 的服務,用于定位服務,以實現云端中間層服務發現和故障轉移。
客服端負載均衡——Netflix Ribbon
提供云端負載均衡,有多種負載均衡策略可供選擇,可配合服務發現和斷路器使用。
斷路器——Netflix Hystrix
熔斷器,容錯管理工具,旨在通過熔斷機制控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。
服務網關——Netflix Zuul
Zuul 是在云平臺上提供動態路由,監控,彈性,安全等邊緣服務的框架。Zuul 相當于是設備和 Netflix 流應用的 Web 網站后端所有請求的前門。
分布式配置——Spring Cloud Config
配置管理工具包,讓你可以把配置放到遠程服務器,集中化管理集群配置,目前支持本地存儲、Git以及Subversion。配合Spring Cloud Bus實現動態的配置更新。
我們選擇Spring Boot作為微服務的基礎框架
旨在簡化創建產品級的 Spring 應用和服務,簡化了配置文件,使用嵌入式web服務器,含有諸多開箱即用微服務功能。
Spring Boot主要特性:
遵循“習慣優于配置”的原則,使用Spring Boot只需要很少的配置,大部分的時候我們直接使用默認的配置即可; 項目快速搭建,可以無需配置的自動整合第三方的框架; 可以完全不使用XML配置文件,只需要自動配置和Java Config; 內嵌Servlet容器,降低了對環境的要求,可以使用命令直接執行項目,應用可用jar包執行:java -jar; 提供了starter POM, 能夠非常方便的進行包管理, 很大程度上減少了jar hell或者dependency hell; 運行中應用狀態的監控; 對主流開發框架的無配置集成; 與云計算的天然繼承;
我們選擇Mybatis作為數據存取層基礎框架
Mybatis優勢:
MyBatis可以進行更為細致的SQL優化,可以減少查詢字段。 MyBatis容易掌握,而Hibernate門檻較高。
2 前端技術框架
我們選擇Vue.js作為我們的前端基礎框架,并采用前后端分離的模式進行業務模塊開發。
目前主流的前端開發框架有Angular、React和Vue.js。
Vue.js 更加靈活,(比起 Angular)更少專制,它能然你按照自己想要的方式構建應用,而非凡事非得 Angular 如此如此。它只不過是一層界面而已,因此你可以拿它作為頁面中一個輕量的功能來使用,而不是一個完整的 SPA。
Vue.js 和 React擁有一些類似的功能特性,如:
1) 使用了一個虛擬 DOM
2) 提供了響應式的,并且可組合式的視圖組件。
3) 保持對核心庫的專注, 而像路由和全局狀態管理這樣的關注點則交給附帶的庫來處理。
三者有相通之處,例如組件化,這是大勢所趨。Vue吸取了 React 和 Angular 的教訓,同時也吸收了它們的成功之處。Vue 是輕量級且容易學習掌握的。
3 移動端技術框架
我們選擇采用Hybrid App框架,Android端JAVA語言,IOS端采用Swift語言,都采用Native+H5的混合式(Hybrid App)架構。
目前主流應用程序大體分為三類:Web App、Hybrid App、 Native App。
Native App
優點:
(1)打造完美的用戶體驗
(2)性能穩定
(3)操作速度快,上手流暢
缺點:
(1)開發成本高(不同平臺有不同的開發語言和界面適配)
(2)維護成本高(例如一款App已更新至V5版本,但仍有用戶在使用V2, V3, V4版本,需要更多的開發人員維護之前的版本)
(3)更新緩慢,根據不同平臺,提交–審核–上線 等等不同的流程,需要經過的流程較復雜
Web APP
優點
(1)開發成本低,
(2)更新快,
(3)更新無需通知用戶,不需要手動升級,
(4)能夠跨多個平臺和終端。
缺點:
(1)臨時性的入口
(2)無法獲取系統級別的通知,提醒,動效等等
(3)體驗較差
Hybrid App
Hybrid APP指的是半原生半Web的混合類App。需要下載安裝,看上去類似Native App,但只有很少的UI Web View,訪問的內容是 Web 。
例如Store里的新聞類APP,視頻類APP普遍采取的是Native的框架,Web的內容。
Hybrid App規避了Native App和H5 App缺點,極力去打造類似于Native App 的體驗。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/67905.html
摘要:分布式架構五大核心套件服務發現云端服務發現,一個基于的服務,用于定位服務,以實現云端中間層服務發現和故障轉移。 1 后端技術框架我們選擇Spring Cloud作為微服務的分布式架構:Spring Cloud vs Dubbo? 背景 Dubbo,是阿里巴巴服務化治理的核心框架,并被廣泛應用于阿里巴巴集團的各成員站點。Spring Cloud,是Spring Source的產物...
摘要:是一個大型企業分布式微服務云架構的體系快速研發平臺使用當前最流行最先進的開源技術實現服務組件化及管理,真正為企業打造分布式微服務云架構平臺。企業分布式微服務云快速開發架構前后端分離業務服務通過服務與服務之間的內部外部通訊,滿足不同業務需求。 鴻鵠云架構【系統管理平臺】采用服務化的組件開發模式...
摘要:今天小編就來分享一份華為剛剛首發的響應式微服務實戰這份主要包含響應式微服務架構實現過程中所應具備的技術體系和工程實踐,在組織結構上分如下篇。 今天小編就來分享一份華為剛剛首發的Spring響應式微服務(Spring Boot 2+Spring 5+Spring Cloud實戰)! 這份PDF...
閱讀 3199·2021-09-22 15:05
閱讀 2760·2019-08-30 15:56
閱讀 1067·2019-08-29 17:09
閱讀 802·2019-08-29 15:12
閱讀 2084·2019-08-26 11:55
閱讀 3061·2019-08-26 11:52
閱讀 3378·2019-08-26 10:29
閱讀 1384·2019-08-23 17:19