先是單體架構(gòu)模式,項(xiàng)目所有的功能模塊都放在一個(gè)工程中編碼、編譯、打包并且部署在一個(gè)Tomcat容器中的架構(gòu)模式就是單體應(yīng)用架構(gòu),優(yōu)點(diǎn)是高效開(kāi)發(fā),架構(gòu)簡(jiǎn)單,易于測(cè)試,易于部署,缺點(diǎn)是可靠性差,復(fù)雜性高,擴(kuò)展能力有限
成都創(chuàng)新互聯(lián)是專(zhuān)業(yè)的江永網(wǎng)站建設(shè)公司,江永接單;提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行江永網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!再是垂直架構(gòu)模式,是基于系統(tǒng)現(xiàn)有的業(yè)務(wù)特性來(lái)做,核心目標(biāo)第一個(gè)是為了業(yè)務(wù)之間互不影響,第二個(gè)是在研發(fā)團(tuán)隊(duì)的壯大后為了提高效率,減少組件之間的依賴。,如登錄和社區(qū)等,優(yōu)點(diǎn)是解決了并發(fā)問(wèn)題,方便水平拓展,負(fù)載均衡,容錯(cuò)率提高,系統(tǒng)相互獨(dú)立,缺點(diǎn)是業(yè)務(wù)處理起來(lái)比較復(fù)雜
再是SOA架構(gòu),是按照不同不同層次分的,他可以面向接口的遠(yuǎn)程方法調(diào)用,智能容錯(cuò)和負(fù)載均衡,以及服務(wù)自動(dòng)注冊(cè)和發(fā)現(xiàn)。優(yōu)點(diǎn)是分布式,松耦合,擴(kuò)展靈活可重用,缺點(diǎn)是服務(wù)抽取粒度較大,服務(wù)調(diào)用和提供方耦合度較高
最后是微服務(wù)架構(gòu),拆分粒度更細(xì),把應(yīng)用拆分成一個(gè)個(gè)微小的服務(wù),不同的服務(wù)可以使用不同的開(kāi)發(fā)語(yǔ)言存儲(chǔ),業(yè)務(wù)徹底的組件化和服務(wù)化
2.springcloud核心組件注冊(cè)中心:第一代eureka,第二代nacos,
客戶端負(fù)載均衡:ribbon,
熔斷器:第一代hystrix,第二代sentinel
網(wǎng)關(guān):第一代zuul,第二代gateway
配置中心:第一代config,第二代nacos
服務(wù)調(diào)用:第一代feign,第二代dubbo RPC
消息驅(qū)動(dòng):springcloud stream
鏈路追蹤:springcloud sleuth/zipkin
3.負(fù)載均衡策略RoundRobinRule輪詢策略,RandomRule隨機(jī)策略,RetryRule重試策略,BestAvailableRule最小連接數(shù)策略
AvailabilityFilteringRule可用過(guò)濾策略,ZoneAvoidanceRule:區(qū)域權(quán)衡策略(默認(rèn)策略),先過(guò)濾再輪詢
4.Gateway路由規(guī)則詳解DateTime時(shí)間類(lèi)斷言,Cookie類(lèi)斷言,path請(qǐng)求路徑類(lèi)斷言,Host請(qǐng)求主機(jī)類(lèi)斷言,Header請(qǐng)求頭類(lèi)斷言,
Method請(qǐng)求方式類(lèi)斷言,QueryParam請(qǐng)求參數(shù)類(lèi)斷言,RemoteAddr遠(yuǎn)程地址類(lèi)斷言
5.JDBC分庫(kù)分表垂直分表定義:將一個(gè)表按照字段分成多表,每個(gè)表存儲(chǔ)其中一部分字段,我們按以下原則進(jìn)行垂直拆分:
①把不常用的字段單獨(dú)放在一張表
②經(jīng)常組合查詢的列放在一張表中
③把text,blob等大字段拆分出來(lái)放在附表中
垂直分庫(kù)是指按照業(yè)務(wù)將表進(jìn)行分類(lèi),發(fā)布到不同的數(shù)據(jù)庫(kù)上面,每個(gè)庫(kù)可以放在不同的服務(wù)器上,它的核心理念是專(zhuān)庫(kù)專(zhuān)用
水平分庫(kù)是把同一表的數(shù)據(jù)按一定規(guī)則拆到不同的數(shù)據(jù)庫(kù)中,每個(gè)庫(kù)可以放在不同的服務(wù)器上
水平分表是在同一數(shù)據(jù)庫(kù)內(nèi),把同一個(gè)表的數(shù)據(jù)按一定規(guī)則拆到多個(gè)表中
6.RabbitMQ(消息隊(duì)列)①helloworld模型(簡(jiǎn)單模式)
一個(gè)隊(duì)列中一條消息,只能被一個(gè)消費(fèi)者消費(fèi)
②workquene模型(工作隊(duì)列模式)
一個(gè)生產(chǎn)者,多個(gè)消費(fèi)者,每個(gè)消費(fèi)者獲取到的消息唯一
③廣播模式(訂閱模式)
一個(gè)生產(chǎn)者發(fā)送的消息被多個(gè)消費(fèi)者獲取
④直連模式(路由模式)
生產(chǎn)者發(fā)送的消息主要根據(jù)定義的路由規(guī)則決定往哪個(gè)隊(duì)列發(fā)送
⑤Topic模式(匹配模式/通配符模式)
topic主題模式為生產(chǎn)者,一個(gè)交換機(jī)(topicExchange),模糊匹配路由規(guī)則,多個(gè)隊(duì)列,多個(gè)消費(fèi)者
7.Feign(遠(yuǎn)程調(diào)用組件)Feign可幫助我們更加便捷,優(yōu)雅的調(diào)用HTTP API
Feign默認(rèn)的請(qǐng)求處理超時(shí)時(shí)長(zhǎng)是1S,在yml中設(shè)置
Feign的壓縮大小下限,默認(rèn)是2048
Feign = RestTemplate + Ribbon + Hystrix
8.GateWay(網(wǎng)關(guān))GateWay旨在為微服務(wù)架構(gòu)提供一種簡(jiǎn)單有效的統(tǒng)一的API路由管理方式,springcloudGateWay不僅提供統(tǒng)一的路由方式(反向代理)并且基于Filter(定義過(guò)濾器對(duì)請(qǐng)求過(guò)濾,完成一些功能)鏈的方式提供了網(wǎng)關(guān)基本的功能,例如:鑒權(quán),流量控制,熔斷,路徑重寫(xiě)等。
功能有:統(tǒng)一接入,安全防護(hù),黑白名單,協(xié)議適配,流量管控,長(zhǎng)短鏈接支持,容錯(cuò)能力
斷言:匹配條件判斷
路由:
過(guò)濾器:過(guò)濾請(qǐng)求,pre在請(qǐng)求被路由之前調(diào)用,post在路由到微服務(wù)以后執(zhí)行,gatewayFilter應(yīng)用到單個(gè)路由上,globalFilter:應(yīng)用到所有的路由上
9.服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn)服務(wù)注冊(cè):作用是服務(wù)提供者將所提供服務(wù)的信息(服務(wù)器IP和端口,服務(wù)訪問(wèn)協(xié)議等)注冊(cè)/登記到注冊(cè)中心(支持http),默認(rèn)心跳續(xù)約30秒,90秒剔除
服務(wù)發(fā)現(xiàn):服務(wù)消費(fèi)者能夠從注冊(cè)中心獲取到較為實(shí)時(shí)的服務(wù)列表,然后根據(jù)一定的策略選擇一個(gè)服務(wù)訪問(wèn)
10.負(fù)載均衡負(fù)載均衡是將壓力分配到多個(gè)服務(wù)器,以此來(lái)提高服務(wù)的性能,可靠性
11.熔斷熔斷即斷路保護(hù),微服務(wù)架構(gòu)中,如果下游服務(wù)因訪問(wèn)壓力過(guò)大而響應(yīng)變慢或失敗,上游服務(wù)為了保護(hù)系統(tǒng)整體可用性,可以暫時(shí)切斷對(duì)下游服務(wù)的調(diào)用。這種犧牲局部,保全整體的措施就叫做熔斷
12.鏈路追蹤鏈路追蹤就是對(duì)一次請(qǐng)求涉及的很多個(gè)服務(wù)鏈路進(jìn)行日志記錄,性能監(jiān)控
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧