1、什么是面向對象
2、什么是面向服務
3、面向服務和面向對象的區別
4、什么是微服務
5、什么是微服務架構
6、微服務和面向服務的區別
7、關於springcloud
8、有哪些微服務架構
1、什么是面向對象 ?
將多個事物按照類別抽象一個個對象,再將多個對象之間的共性抽象,
形成一個個類,類中包含的有對象的屬性和行為,也就是類中聲明的不同數據類型
的變量和各種方法,所有的數據操作都是以對象為前提進行。
2、什么是面向服務(SOA)?
面向服務是一種思想,這種思想相對於之前的面向對象來說比較怪異。
面向對象就是將應用程序的不同功能單元(稱之為服務)進行拆分,並將
這些服務通過接口等聯系起來(各服務之間松耦合),想要使用哪個功能,直接進行調用,
不會將功能與整個項目緊緊綁定。
或者這樣說:面向服務是一種進行系統開發的新的體系架構,在基於SOA架構的系統中,
具體應用程序的功能是由一些松耦合並且具有統一接口定義方式的組件(也就是Service)組合
起來的,它對迅速變化的業務環境具有良好的適應力,一般只有在考慮系統架構的時候才會
涉及到面向服務。
3、面向服務和面向對象的區別,面向服務的好處?
區別:
面向對象:功能與整個項目進行了綁定;
面向服務:功能是單獨存在的,哪個項目需要,哪個項目就去調用。
面向服務的好處是什么:
在一個項目中各個不同的功能不再需要綁定項目,可以單獨獨立出來成一個服務器,
有項目需要用到某功能的時候直接去調用。
4、什么是微服務?
微服務並不是一種技術,而是一種思想,是SOA架構下的產物,只要系統的架構
符合這種思想,就可以說它是微服務。最早由馬丁福勒提出。將業務拆解成一個個小
形態的服務,這些微服務之間是松耦合的,每個微服務都可被獨立部署,且都僅關注
完成一件任務。
關於設計思想方面有個例子:
!!Spring的IOC是一個思想,並不是具體的實現,在spring的框架中實現了IOC思想是DI!!
IOC是控制反轉,即通過spring的bean工廠去創建對象,不用人為主動的去new(創建),它是一種設計思想,就是說只要我的代碼實現了這種思想,我就可以說我這是IOC。而DI(依賴注入)就是實現過了這
中思想,它是一種技術,這倆玩意不能一概而論,但DI干的就是IOC說訴說的事,是IOC的實現。
5、什么是微服務架構?
就是由多個微服務組成的大型的項目架構。
6、面向服務於微服務的區別?
微服務是將服務拆分出來並單獨運行(Tomcat),而面向服務中被拆分出來的業務不是(
面向服務中被拆分出的業務是被打成jar包放入某個項目,使的那個項目能夠使用某功能)。
或者換一種方式問:微服務中包含了SOA嗎?
包含!SOA只是把項目進行拆分,然后以依賴的形式實現項目的部署。
微服務也是把項目拆分,每一個拆分出的項目可以直接獨立運行,直接和整個項目進行解耦。
但是微服務包含了傳統的SOA,但是SOA不包含微服務。
7、關於springcloud?
springcloud並不是一個框架,而是一個微服務整體架構,或者說springcloud是一個生態圈,
里面包含了很多的服務,每一個服務獨立存在,相互之間互不干擾,可以直接運行。
其實springcloud就是一個完整的微服務架構,提供了所有功能,整個開發項目中
所需要的架構功能微服務都有,也就是說整個springcloud就是一個完整的項目,這個
架構已經搭建完畢了,用到了直接獲取即可,只需要往架構中注入自己的業務代碼就可以。
8、有哪些微服務架構
springcloud
阿里巴巴的dubbo
當當的dubbx-->基於dubbo二次開發的
京東的JSF
JSF和dubbo的區別:
其實實現的功能是一模一樣,都是RPC框架,但是JSF架構比dubbo多了一個注冊服務地址的功能,其他的幾乎沒有什么區別
springcloud和dubbo的區別:
1、dubbo是二進制,傳輸速度快,並且帶寬占用低(對網絡的要求不是特別大)
springcloud基於http協議,也就是說所有的服務之間調用使用的仍然是傳統的restful,
也就是說項目和項目之間調用使用了http協議(帶寬占用率比較高,對網絡的要求特別高,
不符合中國國情!!!)
2、dubbo提供了很多開源的注冊中心(zookeeper,dubbo自帶的也有注冊中心...)
springcloud在2019年才提供了zookeeper注冊中心,之前使用的全部都是eureka,
並且在springcloud2.x版本以后新增加了一種注冊中心是consul
3、dubbo的監控和日志系統並不是很完全,需要自己手動集成和編寫springcloud有一套
非常完善的監控和日志系統
4、dubbo屬於輕量級的框架(dubbo自帶就是中文官網)
springcloud使用起來比較沉重,並且學習成本還高(springcloud默認提供的是英文官網)
!!!!但是目前為止2019年之后一線城市很多公司都使用的是springcloud!!!!
!springcloud1比springcloud2用的人多!
springcloud2.x的架構能不能使用springcloud1.x架構的組件??太能了!!
目前中國市場市面上所有的架構都是springoot,springboot和springcloud
是一個公司的,之間對接沒有任何差異,而且沒有bug.