Web入門學(xué)習(xí)

首先十分感謝祥哥的建議:

一般剛接觸web挺份,會多建議走廣度经备,了解web技術(shù)的全貌,spring,緩存嘿架,消息隊(duì)列垛耳,分布式等等栅屏。
但是深度也不是不沒用,畢竟深度決定潛力堂鲜。如果想往深度走栈雳,例如把spring吃透,也是很不錯(cuò)的缔莲。
不過從職場的角度哥纫,可能開始走廣度會更有利于以后發(fā)展。
深度可以在某個(gè)時(shí)間段進(jìn)行痴奏,例如你做到架構(gòu)蛀骇,就需要沉淀技術(shù)深度的東西。

項(xiàng)目中使用到的技術(shù)(基于SSM)

  • 分布式技術(shù):Dubbo抛虫,Zookeeper
  • 數(shù)據(jù)庫存儲:MySQL松靡,Redis,MongoDB(少用到)
  • 消息服務(wù):ActiveMq
  • 文件存儲FTP建椰,OSS

下面簡單對它們進(jìn)行了解雕欺,了解它們是什么,能有什么作用

Dubbo和Zookeeper

Dubbo是Alibaba的開源框架棉姐,最大的特點(diǎn)是按照分層的方式來架構(gòu)屠列,使用這種技術(shù)可以使各個(gè)層之間解耦。
Dubbo采用的是一種簡單的模型伞矩,要么是提供者提供服務(wù)笛洛,要么是消費(fèi)者消費(fèi)服務(wù),可以抽象出服務(wù)提供者(Provider)和服務(wù)消費(fèi)者(Consumer)乃坤。

下圖是Dubbo框架模型:一共有十層


Dubbo框架模型

Dubbo作為一個(gè)分布式服務(wù)框架苛让,主要具有如下幾個(gè)核心的要點(diǎn):

  • 服務(wù)定義:
    服務(wù)是圍繞服務(wù)提供方和服務(wù)消費(fèi)方的,服務(wù)提供方實(shí)現(xiàn)服務(wù)湿诊,而服務(wù)消費(fèi)方調(diào)用服務(wù)狱杰。
  • 服務(wù)注冊
    對于服務(wù)提供方,它需要發(fā)布服務(wù)厅须,而且由于應(yīng)用系統(tǒng)的復(fù)雜性仿畸,服務(wù)的數(shù)量、類型也不斷膨脹;對于服務(wù)消費(fèi)方错沽,它最關(guān)心如何獲取到它所需要的服務(wù)簿晓,而面對復(fù)雜的應(yīng)用系統(tǒng),需要管理大量的服務(wù)調(diào)用千埃。而且憔儿,對于服務(wù)提供方和服務(wù)消費(fèi)方來說,他們還有可能兼具這兩種角色放可,即既需要提供服務(wù)皿曲,有需要消費(fèi)服務(wù)。
    通過將服務(wù)統(tǒng)一管理起來吴侦,可以有效地優(yōu)化內(nèi)部應(yīng)用對服務(wù)發(fā)布/使用的流程和管理。服務(wù)注冊中心可以通過特定協(xié)議來完成服務(wù)對外的統(tǒng)一坞古。
    Dubbo推薦使用Zookeeper注冊中心
  • 服務(wù)監(jiān)控
    無論是服務(wù)提供方备韧,還是服務(wù)消費(fèi)方,他們都需要對服務(wù)調(diào)用的實(shí)際狀態(tài)進(jìn)行有效的監(jiān)控痪枫,從而改進(jìn)服務(wù)質(zhì)量织堂。
  • 服務(wù)調(diào)用

最后簡單介紹一下Dubbo基于RPC層,服務(wù)提供方和服務(wù)消費(fèi)方之間的關(guān)系

Dubbo調(diào)用關(guān)系

上圖中藍(lán)色的表示與業(yè)務(wù)有交互奶陈,綠色的表示只對Dubbo內(nèi)部交互易阳。上述圖所描述的調(diào)用流程如下:
1. 服務(wù)提供方發(fā)布服務(wù)到服務(wù)注冊中心;
2. 服務(wù)消費(fèi)方從服務(wù)注冊中心訂閱服務(wù)吃粒;
3. 服務(wù)消費(fèi)方調(diào)用已經(jīng)注冊的可用服務(wù)潦俺。

更多調(diào)用流程請看這篇文章:Dubbo文章參考

Zookeeper
用來注冊服務(wù)和進(jìn)行負(fù)載均衡,哪一個(gè)服務(wù)由哪一個(gè)機(jī)器來提供必須讓調(diào)用者知道徐勃。
zookeeper通過心跳機(jī)制可以檢測掛掉的機(jī)器并將掛掉機(jī)器的ip和服務(wù)對應(yīng)關(guān)系從列表中刪除事示。
通過添加新的機(jī)器向zookeeper注冊服務(wù),服務(wù)的提供者增加僻肖,能夠服務(wù)的客戶就能增加肖爵。
Zookeeper與Dubbo的關(guān)系
Dubbo的將注冊中心進(jìn)行抽象,是得它可以外接不同的存儲媒介給注冊中心提供服務(wù)臀脏,有ZooKeeper劝堪,Memcached,Redis等揉稚。
引入了ZooKeeper作為存儲媒介秒啦,也就把ZooKeeper的特性引進(jìn)來。首先是負(fù)載均衡窃植,單注冊中心的承載能力是有限的帝蒿,在流量達(dá)到一定程度的時(shí)候就需要分流,負(fù)載均衡就是為了分流而存在的巷怜,一個(gè)ZooKeeper群配合相應(yīng)的Web應(yīng)用就可以很容易達(dá)到負(fù)載均衡葛超;資源同步暴氏,單單有負(fù)載均衡還不夠,節(jié)點(diǎn)之間的數(shù)據(jù)和資源需要同步绣张,ZooKeeper集群就天然具備有這樣的功能答渔;命名服務(wù),將樹狀結(jié)構(gòu)用于維護(hù)全局的服務(wù)地址列表侥涵,服務(wù)提供者在啟動的時(shí)候沼撕,向ZK上的指定節(jié)點(diǎn)/dubbo/${serviceName}/providers目錄下寫入自己的URL地址,這個(gè)操作就完成了服務(wù)的發(fā)布芜飘。其他特性還有Mast選舉务豺,分布式鎖等。

Zookeeper基礎(chǔ)概念了解請看這篇文章: zookeeper基礎(chǔ)了解

Redis

Redis簡介中文網(wǎng)站):
Redis 是一個(gè)開源(BSD許可)的嗦明,內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲系統(tǒng)笼沥,它可以用作數(shù)據(jù)庫、緩存和消息中間件娶牌。 它支持多種類型的數(shù)據(jù)結(jié)構(gòu)奔浅,如 字符串(strings), 散列(hashes)诗良, 列表(lists)汹桦, 集合(sets), 有序集合(sorted sets) 與范圍查詢鉴裹, bitmaps舞骆, hyperloglogs 和 地理空間(geospatial) 索引半徑查詢。 Redis 內(nèi)置了 復(fù)制(replication)径荔,LUA腳本(Lua scripting)葛作, LRU驅(qū)動事件(LRU eviction),事務(wù)(transactions) 和不同級別的 磁盤持久化(persistence)猖凛, 并通過 Redis哨兵(Sentinel)和自動 分區(qū)(Cluster)提供高可用性(high availability)赂蠢。

Redis 優(yōu)勢:

  • 速度快,因?yàn)閿?shù)據(jù)存在內(nèi)存中辨泳,類似于HashMap虱岂,HashMap的優(yōu)勢就是查找和操作的時(shí)間復(fù)雜度都是O(1)
  • 支持豐富數(shù)據(jù)類型,支持string菠红,list第岖,set,sorted set试溯,hash
  • 支持事務(wù)蔑滓,操作都是原子性,所謂的原子性就是對數(shù)據(jù)的更改要么全部執(zhí)行,要么全部不執(zhí)行键袱。
  • 豐富的特性:可用于緩存燎窘,消息,按key設(shè)置過期時(shí)間蹄咖,過期后將會自動刪除

在Java中使用的是Jedis褐健,可以在Redis官網(wǎng)查看如何使用,常用的套路是使用MySQL存儲需要長久存放的數(shù)據(jù)澜汤,使用Redis進(jìn)行緩存蚜迅,設(shè)置一個(gè)過期時(shí)間,不能讓Redis存儲太多俊抵,不然內(nèi)存占用會升高谁不。

ActiveMq

首先介紹一下MQ:
MQ全稱為Message Queue, 消息隊(duì)列(MQ)是一種應(yīng)用程序?qū)?yīng)用程序的通信方法。應(yīng)用程序通過寫和檢索出入列隊(duì)的針對應(yīng)用程序的數(shù)據(jù)(消息)來通信徽诲,而無需專用連接來鏈接它們拍谐。消息傳遞指的是程序之間通過在消息中發(fā)送數(shù)據(jù)進(jìn)行通信,而不是通過直接調(diào)用彼此來通信馏段,直接調(diào)用通常是用于諸如遠(yuǎn)程過程調(diào)用的技術(shù)。排隊(duì)指的是應(yīng)用程序通過隊(duì)列來通信践瓷。隊(duì)列的使用除去了接收和發(fā)送應(yīng)用程序同時(shí)執(zhí)行的要求院喜。

MQ特點(diǎn):
MQ的消費(fèi)-生產(chǎn)者模型的一個(gè)典型的代表,一端往消息隊(duì)列中不斷的寫入消息晕翠,而另一端則可以讀取或者訂閱隊(duì)列中的消息喷舀。MQ和JMS類似,但不同的是JMS是SUN Java消息中間件服務(wù)的一個(gè)標(biāo)準(zhǔn)和API定義淋肾,而MQ則是遵循了AMQP協(xié)議的具體實(shí)現(xiàn)和產(chǎn)品硫麻。

接著介紹JMS(Java Message Service):
JMS是Java平臺上有關(guān)面向消息中間件(MOM)的技術(shù)規(guī)范,它便于消息系統(tǒng)中的Java應(yīng)用程序進(jìn)行消息交換,并且通過提供標(biāo)準(zhǔn)的產(chǎn)生樊卓、發(fā)送拿愧、接收消息的接口簡化企業(yè)應(yīng)用的開發(fā),翻譯為Java消息服務(wù)碌尔。

ActiveMq優(yōu)點(diǎn):
是一個(gè)快速的開源消息組件(框架)浇辜,支持集群,同等網(wǎng)絡(luò)唾戚,自動檢測柳洋,TCP,SSL叹坦,廣播熊镣,持久化,XA,和J2EE1.4容器無縫結(jié)合绪囱,并且支持輕量級容器和大多數(shù)跨語言客戶端上的Java虛擬機(jī)测蹲。消息異步接受,減少軟件多系統(tǒng)集成的耦合度毕箍。消息可靠接收弛房,確保消息在中間件可靠保存,多個(gè)消息也可以組成原子事務(wù)而柑。

個(gè)人理解是通過發(fā)送消息到隊(duì)列中文捶,不直接調(diào)用服務(wù)處理,而是配置處理器進(jìn)行事件的處理媒咳,異步處理消息用來進(jìn)行應(yīng)用間的解耦粹排,節(jié)省了服務(wù)器的請求響應(yīng)時(shí)間,從而提高了系統(tǒng)的吞吐量涩澡,最后確保最終一致性顽耳。

關(guān)于ActiveMq的了解可以看這篇文章:ActiveMq基礎(chǔ)了解

文件存儲FTP和OSS

網(wǎng)絡(luò)操作中,有很多場景下涉及到文件的操作妙同,這時(shí)就需要使用到ftp和oss射富。

FTP:全稱(File Transfer Protocol)
用于在網(wǎng)絡(luò)上的控制文件的雙向傳輸。我們經(jīng)常使用到的是上傳(upload)和下載(download)粥帚。
在后端中使用胰耗,需要寫好配置文件,在代碼中也需要通過連接ftp服務(wù)器芒涡,將文件轉(zhuǎn)成輸入流上傳到ftp服務(wù)器,拿到ftp服務(wù)器的文件地址费尽,就能將文件下載下來赠群。

OSS:全稱(Object Storage Service)
常用的是阿里的oss,使用它有以下好處:

  • OSS服務(wù)可用性不低于99.9%,規(guī)模自動擴(kuò)展旱幼,數(shù)據(jù)持久性不低于99.99999999%查描,數(shù)據(jù)自動多重冗余備份。
  • OSS提供企業(yè)級多層次安全防護(hù)和防DDoS攻擊柏卤,自動黑洞清洗叹誉。OSS實(shí)行多用戶資源隔離機(jī)制,支持異地容災(zāi)機(jī)制。
  • OSS還提供多種鑒權(quán)和授權(quán)機(jī)制及白名單闷旧、防盜鏈长豁、主子賬號功能。
  • OSS性價(jià)比高忙灼,多線BGP骨干網(wǎng)絡(luò)匠襟,無帶寬限制钝侠,上行流量免費(fèi),無需運(yùn)維人員與托管費(fèi)用酸舍,0成本運(yùn)維帅韧。
  • OSS還提供圖片處理、音視頻轉(zhuǎn)碼啃勉、內(nèi)容加速分發(fā)忽舟、鑒黃服務(wù)、歸檔服務(wù)等多種數(shù)據(jù)增值服務(wù)淮阐,并在不斷豐富著叮阅。

基于以上優(yōu)點(diǎn),學(xué)習(xí)使用OSS也是很有必要的泣特,官方文檔 的介紹很詳細(xì)了浩姥。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市状您,隨后出現(xiàn)的幾起案子勒叠,更是在濱河造成了極大的恐慌,老刑警劉巖膏孟,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眯分,死亡現(xiàn)場離奇詭異,居然都是意外死亡柒桑,警方通過查閱死者的電腦和手機(jī)弊决,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幕垦,“玉大人,你說我怎么就攤上這事傅联∠雀模” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵蒸走,是天一觀的道長仇奶。 經(jīng)常有香客問我,道長比驻,這世上最難降的妖魔是什么该溯? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮别惦,結(jié)果婚禮上狈茉,老公的妹妹穿的比我還像新娘。我一直安慰自己掸掸,他們只是感情好氯庆,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布蹭秋。 她就那樣靜靜地躺著,像睡著了一般堤撵。 火紅的嫁衣襯著肌膚如雪仁讨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天实昨,我揣著相機(jī)與錄音洞豁,去河邊找鬼。 笑死荒给,一個(gè)胖子當(dāng)著我的面吹牛丈挟,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锐墙,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼礁哄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了溪北?” 一聲冷哼從身側(cè)響起桐绒,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎之拨,沒想到半個(gè)月后茉继,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚀乔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年烁竭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吉挣。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡派撕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出睬魂,到底是詐尸還是另有隱情终吼,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布氯哮,位于F島的核電站际跪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏喉钢。R本人自食惡果不足惜姆打,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肠虽。 院中可真熱鬧幔戏,春花似錦、人聲如沸税课。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至慨代,卻和暖如春邢笙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背侍匙。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工氮惯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝌数,地道東北人跪呈。 一個(gè)月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像掂摔,于是被迫代替她去往敵國和親说莫。 傳聞我的和親對象是個(gè)殘疾皇子杨箭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)储狭,斷路器互婿,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • Dubbo是什么 Dubbo是Alibaba開源的分布式服務(wù)框架,它最大的特點(diǎn)是按照分層的方式來架構(gòu)辽狈,使用這種方式...
    Coselding閱讀 17,181評論 3 196
  • 0 準(zhǔn)備 安裝注冊中心:Zookeeper慈参、Dubbox自帶的dubbo-registry-simple;安裝Du...
    七寸知架構(gòu)閱讀 13,973評論 0 88
  • 他叫???,留著中長發(fā)着茸,冬天好幾年都穿一樣的灰色大衣壮锻。 進(jìn)入NHN之前是一名漫畫家、插話家涮阔,大部分是搞笑的短篇漫畫...
    耕心鮮閱讀 869評論 2 2
  • 整體畫的元素很多猜绣,畫面有些許偏上,給人樂觀向上的感覺澎语,案主對生活有一定的追求途事,愛自由验懊,注重細(xì)節(jié)擅羞,完美主義。 再看房...
    faye12閱讀 148評論 0 0