成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【開源】Tseer產(chǎn)品介紹

ruicbAndroid / 1467人閱讀

摘要:并根據(jù)調(diào)用方指定的負(fù)載均衡策略將被調(diào)節(jié)點(diǎn)信息返給調(diào)用方。并且被調(diào)方信息緩存負(fù)載均衡以及失效節(jié)點(diǎn)剔除都在中完成。

作者: 鐘科

一.TSeer簡(jiǎn)介

TSeer是一套服務(wù)注冊(cè)發(fā)現(xiàn)容錯(cuò)的方案,是對(duì)Tars名字服務(wù)功能的輕量化。在騰訊瀏覽器、應(yīng)用寶、管家、手機(jī)書城、騰訊文學(xué)、廣點(diǎn)通等眾多業(yè)務(wù)中廣泛采用,目前日均承載百億級(jí)的請(qǐng)求量。

TSeer輕巧靈便,對(duì)業(yè)務(wù)的侵入性低,非tars服務(wù)亦可無縫接入。在服務(wù)發(fā)現(xiàn)的核心功能之上,Tseer還支持多種負(fù)載均衡算法,提供可靠的故障容錯(cuò)策略,可有效解決業(yè)務(wù)跨地區(qū)跨機(jī)房調(diào)用等難題,極大提升服務(wù)的可用性和調(diào)用質(zhì)量,是微服務(wù)框架中優(yōu)秀的名字服務(wù)解決方案。

TSeer擁有web管理界面和API接入兩種方式可供用戶根據(jù)需求自由選擇,通過代理節(jié)點(diǎn)和代理服務(wù)器機(jī)制為需要頻繁發(fā)布變更的業(yè)務(wù)提供透明的服務(wù)發(fā)現(xiàn)功能,學(xué)習(xí)成本很低,操作也很方便,對(duì)于業(yè)務(wù)維護(hù)人員十分友好。

二.研發(fā)背景

在傳統(tǒng)的單體式應(yīng)用中,變更發(fā)布相對(duì)較少,系統(tǒng)中的網(wǎng)絡(luò)位置也很少變化,偶爾的變更也可以通過手動(dòng)更改配置的方式來應(yīng)對(duì)。但是在當(dāng)前海量服務(wù)的大環(huán)境下,這種架構(gòu)已經(jīng)無法高效穩(wěn)定的支撐高速增長(zhǎng)的業(yè)務(wù)。越來越龐大的分布式服務(wù)集群和微服務(wù)框架已經(jīng)逐漸成為主流。

但是新型架構(gòu)為業(yè)務(wù)提供更好支撐的同時(shí),頻繁的發(fā)布更新與動(dòng)態(tài)伸縮也導(dǎo)致了網(wǎng)絡(luò)位置的頻繁變化,在這種情況下業(yè)務(wù)維護(hù)人員手動(dòng)更改配置這種大規(guī)模重復(fù)性工作不僅增大了出錯(cuò)的風(fēng)險(xiǎn),其低效也會(huì)限制業(yè)務(wù)的高速發(fā)展。往往配置還沒改完,新的變更就需要發(fā)布了。所以就必須要一個(gè)自動(dòng)化的服務(wù)發(fā)現(xiàn)工具來解決這些問題。

然而這些也并不是問題的全部。在保證訪問成功的前提下,響應(yīng)時(shí)間作為服務(wù)質(zhì)量中最重要的指標(biāo),是影響業(yè)務(wù)發(fā)展最關(guān)鍵的一環(huán)。多業(yè)務(wù)集之間復(fù)雜的調(diào)用關(guān)系再加上跨地區(qū)跨網(wǎng)絡(luò)調(diào)用等其他因素,響應(yīng)時(shí)間達(dá)不到預(yù)期是持續(xù)困擾整個(gè)業(yè)務(wù)發(fā)展周期的棘手問題。與此同時(shí),無論是采用物理機(jī)還是虛擬機(jī),節(jié)點(diǎn)掛掉導(dǎo)致的不可用時(shí)有發(fā)生,如何有效容錯(cuò)也是亟待解決的問題。
基于這些問題,我們開發(fā)了TSeer。

三.TSeer架構(gòu)


整個(gè)Tseer的結(jié)構(gòu)分為四部分:TseerServer、業(yè)務(wù)客戶端(主調(diào))、業(yè)務(wù)服務(wù)端(被調(diào))、web管理。

? TseerServer

TseerServer是整個(gè)Tseer的樞紐與核心模塊。 當(dāng)新節(jié)點(diǎn)上線時(shí),需要先通過WEB管理平臺(tái)在Tseer服務(wù)集群注冊(cè),將其網(wǎng)絡(luò)位置信息記錄在Tseer系統(tǒng)中。當(dāng)需要對(duì)節(jié)點(diǎn)進(jìn)行下線或者其他修改時(shí),也需要在WEB管理平臺(tái)就行相關(guān)操作。被調(diào)節(jié)點(diǎn)也會(huì)定時(shí)上報(bào)心跳給TseerServer,server端會(huì)屏蔽心跳超時(shí)的節(jié)點(diǎn)使其無法被調(diào)用。

? 業(yè)務(wù)客戶端

業(yè)務(wù)客戶端是需要調(diào)用其他服務(wù)的節(jié)點(diǎn),稱之為主調(diào),是服務(wù)發(fā)現(xiàn)功能的使用者。 Tseer為業(yè)務(wù)客戶端提供了:安裝Agent與API調(diào)用兩種方式來從TseerServer獲得需要調(diào)用的服務(wù)(被調(diào))的地址來完成調(diào)用。

? 業(yè)務(wù)服務(wù)端

業(yè)務(wù)服務(wù)端是需要被調(diào)用的節(jié)點(diǎn),稱之為被調(diào),是服務(wù)的提供者。 當(dāng)新節(jié)點(diǎn)上線時(shí),被調(diào)需要在TseerServer注冊(cè)。不論同一個(gè)被調(diào)服務(wù)集群有多少個(gè)節(jié)點(diǎn),注冊(cè)時(shí)該服務(wù)集群都需要注冊(cè)一個(gè)統(tǒng)一的名字。主調(diào)在調(diào)用邏輯中只需要寫明需要調(diào)用的服務(wù)的名字,Tseer會(huì)根據(jù)被調(diào)名字來返回被調(diào)地址。當(dāng)被調(diào)需要擴(kuò)容時(shí),只需要把新節(jié)點(diǎn)加在該服務(wù)對(duì)應(yīng)的名字下面即可。業(yè)務(wù)人員無需管理被調(diào)集群下繁多的服務(wù)節(jié)點(diǎn)信息,十分方便。

? Web管理

業(yè)務(wù)信息及節(jié)點(diǎn)路由信息的增刪改查都是通過web管理界面操作,簡(jiǎn)便快捷直觀。甚至agent安裝包都可以通過web平臺(tái)更新發(fā)布。詳細(xì)使用方式可參考github上TSeer項(xiàng)目的使用文檔。

四.Tseer功能的特點(diǎn)

1.負(fù)載均衡

當(dāng)同一業(yè)務(wù)集群中某些節(jié)點(diǎn)被頻繁調(diào)用而另一些節(jié)點(diǎn)沒有承擔(dān)合理的負(fù)載時(shí),不僅業(yè)務(wù)的服務(wù)質(zhì)量和響應(yīng)時(shí)間會(huì)大幅下降,同時(shí)也會(huì)造成資源的浪費(fèi)。

Tseer系統(tǒng)中,當(dāng)主調(diào)發(fā)起調(diào)用時(shí),會(huì)針對(duì)被調(diào)名字下所有可用節(jié)點(diǎn)為調(diào)用提供四種負(fù)載均衡方式來保障各個(gè)節(jié)點(diǎn)的合理負(fù)載,分別是

? 輪詢

? 隨機(jī)

? 靜態(tài)權(quán)重

? 一致性哈希

用戶還可以使用調(diào)用分組的方式來自定義負(fù)載均衡實(shí)現(xiàn),調(diào)用分組會(huì)在下文中提到。

2.故障容錯(cuò)

為了解決節(jié)點(diǎn)故障導(dǎo)致的業(yè)務(wù)不可用與服務(wù)質(zhì)量降低,Tseer還提供了可靠的故障容錯(cuò)機(jī)制。

當(dāng)主調(diào)進(jìn)行一次調(diào)用之后,會(huì)將調(diào)用結(jié)果上報(bào)。如果調(diào)用失敗Tseer會(huì)暫時(shí)將該節(jié)點(diǎn)屏蔽來避免故障節(jié)點(diǎn)被反復(fù)調(diào)用,Tseer會(huì)定時(shí)探測(cè)被屏蔽的節(jié)點(diǎn),當(dāng)發(fā)現(xiàn)故障節(jié)點(diǎn)恢復(fù)服務(wù)時(shí),會(huì)重新將其激活。

對(duì)于任意被調(diào)節(jié)點(diǎn),滿足下列條件之一則屏蔽該節(jié)點(diǎn):

1.在一個(gè)檢測(cè)周期(60秒)內(nèi)調(diào)用失敗次數(shù)達(dá)到2次,且調(diào)用錯(cuò)誤數(shù)占總調(diào)用次數(shù)的50%以上

2.在5秒內(nèi)連續(xù)調(diào)用失敗5次以上

對(duì)于被屏蔽的節(jié)點(diǎn)Tseer Agent/Api將每隔30秒對(duì)已屏蔽的節(jié)點(diǎn)進(jìn)行重試。

同時(shí)當(dāng)Tseer故障時(shí),主調(diào)也能根據(jù)緩存信息繼續(xù)調(diào)用。

3.調(diào)用優(yōu)化

Tseer為調(diào)用邏輯提供IDC分組、Set分組、All三種方式來解決跨地區(qū)調(diào)用等問題。

? All

為主調(diào)提供所有可用被調(diào)節(jié)點(diǎn)地址

? IDC分組

IDC分組可以近似的看作就近接入。

該方法按照兩個(gè)層次進(jìn)行劃分。第一個(gè)是物理小組,是最小的組調(diào)度單位,即按照節(jié)點(diǎn)所在的機(jī)房或者區(qū)域分配統(tǒng) 一的組名。第二個(gè)是物理小組組成的邏輯組,可以理解為按照更大的區(qū)域來劃分的統(tǒng)一的組名。

針對(duì)IDC的邏輯分組,Tseer還定義了調(diào)用優(yōu)先級(jí)策略。即部分邏輯組不可用時(shí),會(huì)按照優(yōu)先級(jí)策略返回可用被調(diào)節(jié)點(diǎn)地址列表。

? Set分組

IDC分組主要是在區(qū)域概念上去劃分分組,實(shí)現(xiàn)就近訪問策略,在后臺(tái)服務(wù)架構(gòu)中,業(yè)務(wù)規(guī)模達(dá)到一定數(shù)量時(shí),如果要對(duì)某幾個(gè)服務(wù)節(jié)點(diǎn)實(shí)現(xiàn)根據(jù)容量、灰度,分區(qū)域管理的隔離控制,IDC分組是無法滿足的,而Set分組則是對(duì)IDC分組的再細(xì)化。

Set分組的命名規(guī)則為: Set名.Set地區(qū).Set組。其中Set組是最小區(qū)分單元的名稱,支持通配符*,表示Set地區(qū)下的所有分組。比如0,1,2,3,4或者a,b,c,d。

Set分組的調(diào)用邏輯如下:

1.主調(diào)(客戶端)和被調(diào)(服務(wù)端)都啟用了Set分組,并且Set名要一致才認(rèn)為是啟用同SET內(nèi)

2.啟用Set分組的主調(diào)和被調(diào)只能訪問同Set內(nèi)的節(jié)點(diǎn)

3.主調(diào)啟用Set分組,被調(diào)沒有啟用Set分組,則默認(rèn)會(huì)走按IDC分組查詢的邏輯(前提是啟用了IDC分組)

4.兩種接入方式

根據(jù)服務(wù)客戶端是否在其物理機(jī)中部署Tseer Agent,Tseer的使用方式可以分為Agent 和Tseer API兩種方式:

? Agent 方式

名字路由

Agent 方式下,Tseer Agent會(huì)定期緩存被調(diào)方的信息。并根據(jù)調(diào)用方指定的負(fù)載均衡策略將被調(diào)節(jié)點(diǎn)信息返給調(diào)用方。如果調(diào)用方希望通過服務(wù)特性來實(shí)現(xiàn)負(fù)載均衡,Tseer也支持按照調(diào)用方指定的分組策略將被調(diào)的組信息返給調(diào)用方。

數(shù)據(jù)上報(bào)

每次調(diào)用完成后,調(diào)用方需要調(diào)用Tseer Api提供的上報(bào)接口上報(bào)調(diào)用信息,調(diào)用信息將由Tseer Api即使上報(bào)至Tseer Agent。Tseer Agent將根據(jù)調(diào)用信息剔除失效被調(diào)節(jié)點(diǎn)。

容錯(cuò) 使用Agent 方式時(shí),如果Tseer Agent失效,Tseer Api將會(huì)從內(nèi)存中返回已訪問過的節(jié)點(diǎn)給主調(diào),如果Tseer Api緩存失效,此時(shí)Tseer Api將會(huì)從本地磁盤中的緩存文件恢復(fù)緩存信息提供給主調(diào)。需要注意的是此時(shí)Tseer Api提供給主調(diào)服務(wù)的信息為有損信息,Tseer Api不保證節(jié)點(diǎn)一定健康。

? Tseer Api方式

名字路由

Agent 方式與Tseer Api方式的區(qū)別在于是否需要在主調(diào)的宿主機(jī)中部署Tseer Agent。Tseer Api會(huì)直接訪問Tseer server。并且被調(diào)方信息緩存、負(fù)載均衡以及失效節(jié)點(diǎn)剔除都在Tseer Api中完成。

Tseer Api會(huì)定時(shí)拉取Tseerserver的后端信息并屏蔽不可用的被調(diào)節(jié)點(diǎn)。

容錯(cuò)

Tseerserver故障時(shí),Tseer Api會(huì)將內(nèi)存中緩存的信息返回給主調(diào)。當(dāng)內(nèi)存緩存不可用時(shí),Tseer Api將會(huì)用本地磁盤中的緩存恢復(fù)內(nèi)存緩存。

Agent Api方式 與Tseer Api方式對(duì)比

結(jié)語

TSeer是一套服務(wù)注冊(cè)發(fā)現(xiàn)容錯(cuò)的方案,是對(duì)Tars名字服務(wù)功能的輕量化,輕巧靈便,對(duì)業(yè)務(wù)的侵入性低。在服務(wù)發(fā)現(xiàn)的核心功能之上,Tseer還支持多種負(fù)載均衡算法,提供可靠的故障容錯(cuò)策略,可有效解決業(yè)務(wù)跨地區(qū)跨機(jī)房調(diào)用等難題,極大提升服務(wù)的可用性和調(diào)用質(zhì)量,是微服務(wù)框架中優(yōu)秀的名字服務(wù)解決方案。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/61973.html

相關(guān)文章

  • 從用戶成為“股東” —— 在 Apache 基金會(huì)的 2600 天

    摘要:從用戶成為股東在基金會(huì)的天從年開始為的初始版本打補(bǔ)丁,堵俊平已經(jīng)在社區(qū)深耕了近年,年月成為中國第一個(gè)的年月,年月榮升。他們有權(quán)選舉董事會(huì),成為董事會(huì)選舉的候選人。基金會(huì)成員對(duì)基金會(huì)直接負(fù)責(zé),在多個(gè)項(xiàng)目中做出貢獻(xiàn),擁有董事會(huì)的投票權(quán)。 3月27日,騰訊云大數(shù)據(jù)及人工智能產(chǎn)品研發(fā)的專家研究員堵俊平受邀成為 Apache 軟件基金會(huì)Member(Apache Softeware Founda...

    scola666 評(píng)論0 收藏0
  • #私藏項(xiàng)目實(shí)操分享# 介紹一款開源電商網(wǎng)站的購物車添加功能的實(shí)現(xiàn)

    摘要:目前電商領(lǐng)域有兩款比較出名的開源電商網(wǎng)站解決方案,分別是基于開發(fā)框架,代號(hào)為的開源項(xiàng)目,以及基于的作為開源項(xiàng)目的開發(fā)成員之一,今天我想通過本文,給大家介紹一下我們平時(shí)購物時(shí)最常使用到的功能之一,添加產(chǎn)品到購物車的技術(shù)實(shí)現(xiàn)。 目前電商領(lǐng)域有兩款比較出名的開源電商網(wǎng)站解決方案,分別是基于 Angular 開發(fā)框架,...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • 產(chǎn)品概述 智能大數(shù)據(jù)平臺(tái) USDP

    摘要:產(chǎn)品概述產(chǎn)品概述產(chǎn)品概述本篇目錄產(chǎn)品特點(diǎn)產(chǎn)品特點(diǎn)功能簡(jiǎn)介功能簡(jiǎn)介操作指南操作指南開發(fā)指南開發(fā)指南任務(wù)調(diào)度任務(wù)調(diào)度產(chǎn)品價(jià)格產(chǎn)品價(jià)格簡(jiǎn)稱,是推出的云上智能化輕量級(jí)的大數(shù)據(jù)基礎(chǔ)服務(wù)平臺(tái),能夠幫您快速構(gòu)建起大數(shù)據(jù)的分析處理能力。 產(chǎn)品概述本篇目錄產(chǎn)品特點(diǎn)功能簡(jiǎn)介操作指南開發(fā)指南任務(wù)調(diào)度產(chǎn)品價(jià)格UCloud Smart Data Platform(簡(jiǎn)稱 USDP),是 UCloud 推出的云上智能化、...

    ernest.wang 評(píng)論0 收藏441

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<