亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

基于通用jar、動態(tài)配置、組件編排的會員任務(wù)中心系統(tǒng)設(shè)計

null1145 / 2393人閱讀

摘要:基于的動態(tài)配置推送。對于任務(wù)中心這種多任務(wù)平臺型的配置,有一定影響?;诨卣{(diào)和配置的擴(kuò)展點(diǎn)流程共建在建中通過擴(kuò)展點(diǎn)共建方式,將流程編排的能力,暴露給內(nèi)外部的開發(fā)者,完成任務(wù)中心的共建。

一、聊聊本文想說什么:

??為更好幫助商家的會員快速成長,保持用戶活性,完善用戶的成長體系,有贊用戶中心-會員成長團(tuán)隊基于現(xiàn)有的業(yè)務(wù)場景,設(shè)計了一套較完備任務(wù)中心系統(tǒng)。同時也有很多通用技術(shù)組件能夠落地。接下來本文會簡單分享下這些常用的技術(shù)組件,拋磚引玉。

??在開始之前我們會先提幾個問題:

1.任務(wù)中心對于普通商戶有什么用處?

2.如何實(shí)現(xiàn)任務(wù)中心,做到快速接入,擴(kuò)展性好?

3.有哪些技術(shù)可以結(jié)合任務(wù)中心一起落地?

1.1 我們內(nèi)部的一些黑話

二、為什么要做任務(wù)中心? 2.1 任務(wù)中心的出發(fā)點(diǎn):

a、用戶激活:提升用戶體驗(yàn),增加客戶活躍,方便商戶進(jìn)行用戶信息采集,完善自己的信息網(wǎng)。

b、提高留存:引導(dǎo)客戶每日參與任務(wù),通過會員體系+積分成長值獎勵,提高用戶粘性。

c、提高用戶復(fù)購和客單價:設(shè)置購買任務(wù)和結(jié)合積分購買等特權(quán)。

d、老帶新傳播:通過拉新任務(wù)或者拼團(tuán)任務(wù)等活動,持續(xù)拉新。

2.2 任務(wù)中心的目標(biāo):

B端: 商戶可視的任務(wù)配置中心,方便管理控制任務(wù)。

C端:用戶領(lǐng)取完成任務(wù),異步或同步處理完成,提供:定時任務(wù)、階段任務(wù)。

接入、使用方:快速可視化接入,任務(wù)完成回執(zhí)簡單。

系統(tǒng)本身:對于新任務(wù)接入,可拓展性,盡量保證主流程改動最小。

三、我們是如何實(shí)現(xiàn)的? 3.1 我們的技術(shù)方案

??我們從現(xiàn)有的業(yè)務(wù)體系中,剝離出B端的配置中心和C端的任務(wù)處理中心,集合一些常用的系統(tǒng)組件,盡量做到接口原子化,可編排、能力內(nèi)聚;在結(jié)合通用工具jar,是業(yè)務(wù)系統(tǒng)接入足夠快速;同時設(shè)置了平臺型通用配置,使用基于apollo的動態(tài)加載配置信息到本地緩存,達(dá)到不用發(fā)布應(yīng)用,就可以快速接入新任務(wù)。

3.2 如何串聯(lián)平臺、商戶、用戶?

??有贊雖然是一家saas公司,但是在有贊內(nèi)部平臺、商戶、用戶的概念是都有維護(hù)的,可以說三者相輔相成,不會獨(dú)立出現(xiàn)。

1.平臺側(cè)可以通過后臺系統(tǒng)快速接入,給產(chǎn)品同學(xué)進(jìn)行審批和配置落地。

2.商戶端可以在頁面,快速配置任務(wù)信息和任務(wù)獎勵。

3.給業(yè)務(wù)方提供多種任務(wù)快速接入方式,通用的任務(wù)調(diào)度完成以及商戶維度的通用獎勵發(fā)放能力。

3.2 我們還提供了哪些能力?

3.3 任務(wù)的常用狀態(tài)

??通用的合理的狀態(tài)流轉(zhuǎn),可以快速定位區(qū)分C端用戶的任務(wù)完成情況,失敗和終止的業(yè)務(wù)可以依賴定時任務(wù)做任務(wù)完成重放,快速推進(jìn)到完結(jié),并發(fā)放獎勵,規(guī)避異常給用戶帶來的獎勵信息不同步的問題,保證系統(tǒng)內(nèi)的一致性。

四、我們使用了哪些核心技術(shù)組件 4.1 冪等控制組件 4.1.1 為什么要要使用冪等組件

??在任務(wù)中心落地中,很多場景需要控制任務(wù)的唯一冪等,多次發(fā)放不會重發(fā)等等。之前我們主要是通過db冪等表,插入業(yè)務(wù)唯一索引來保證冪等,但是需要數(shù)據(jù)庫的事務(wù)保證,即冪等流水和業(yè)務(wù)要一起提交,失敗即回滾。當(dāng)使用到多庫的場景時,業(yè)務(wù)系統(tǒng)每個庫都要增加一張流水表,并且控制本分片內(nèi)業(yè)務(wù)id和分片id一致,比較繁瑣。

??還有一部分內(nèi)部系統(tǒng)使用分布式存儲(比如redis),來保存業(yè)務(wù)請求記錄。服務(wù)端在接收到請求后,用原子性的查詢和保存操作(比如redis的setnx命令),來保證業(yè)務(wù)唯一流水落到存儲中,在業(yè)務(wù)設(shè)置的超時時間前,控制業(yè)務(wù)流水的冪等。當(dāng)發(fā)現(xiàn)重復(fù)流水時,按照一定的策略返回。

??在任務(wù)中心系統(tǒng)落地時,同時保留了兩種模式,并且還要考慮接入方依賴的存儲的拓展性和快速接入。

4.1.2 冪等組件的規(guī)則

冪等使用支持注解方式快速接入+spEL表達(dá)式拼接冪等入?yún)⑿畔ⅰ?/p>

基于apollo的動態(tài)配置推送。

冪等存儲策略:

1.緩存redis存儲(優(yōu)先)2.mysql存儲 等

冪等拒絕策略:

1.多次返回相同結(jié)果 2.返回冪等碼 3.拋出異常 等

4.1.3 冪等組件的設(shè)計

??通過基礎(chǔ)的工具jar包,承載整個冪等組件邏輯,達(dá)到快速接入的目的,通過apollo可以動態(tài)推送相關(guān)配置,達(dá)到業(yè)務(wù)系統(tǒng)快速切換分支,隨時線上應(yīng)急。

4.2 集成了通用緩存能力流程編排組件

??由于多個任務(wù)中,很多基礎(chǔ)組件能力都可以直接復(fù)用。比如發(fā)放獎勵中:發(fā)放成長值、發(fā)放積分、優(yōu)惠券等等,很多任務(wù)都有相同的邏輯,為了達(dá)到無需重復(fù)開發(fā),新任務(wù)快速接入的目的。

??我們開發(fā)了一套基于db+xml配置流程編排引擎,可以快速編排已有邏輯,減少重復(fù)開發(fā)工作。

??編排還提供的基礎(chǔ)能力:

1.持續(xù)開發(fā)基于熱加載的模板動態(tài)加載機(jī)制。進(jìn)一步增加流程的動態(tài)可配置能力。

2.同時在通用模板中,實(shí)現(xiàn)了緩存通用邏輯以及熱點(diǎn)緩存功能,在大促或者商家有營銷活動時,任務(wù)中心也可以穩(wěn)定支持。

4.3 動態(tài)配置變更組件

??目前很多基礎(chǔ)配置都是通過依賴配置文件,或者apollo的動態(tài)配置。

??但是這兩種方式都是有一定優(yōu)缺點(diǎn)的:配置文件的方式,雖然存儲容量沒有限制,但是配置變更后,需要重啟應(yīng)用,比較復(fù)雜。而apollo開關(guān)的方式雖然可以動態(tài)變更,但是存儲的配置信息很少,有一定長度限制。對于任務(wù)中心這種多任務(wù)平臺型的配置,有一定影響。

??所以最后使用了基于jvm+apollo的延時加載的策略,即保證了不用頻繁發(fā)布,同時可以動態(tài)變更配置信息。

4.4 獨(dú)立的異步日志流水記錄

??傳統(tǒng)的同步日志記錄,占用系統(tǒng)資源,并且由于任務(wù)中心的特性,C端任務(wù)完成流水信息會很多。 所以任務(wù)中心落地時轉(zhuǎn)化為日志的異步流水事件,由多帶帶的日志系統(tǒng)提供日志采集、上傳、可視化、檢索等通用能力。

五、未來,我們還在砥礪前行:

??本著可視化、配置化的原則,為了讓外圍接入更容易,同時減少內(nèi)部開發(fā)量的原則。接下來我們還會去繼續(xù)完善系統(tǒng):

1.任務(wù)中心運(yùn)維產(chǎn)品化(在建中):多帶帶開發(fā)的一套產(chǎn)品層應(yīng)用,使用可視化的頁面后臺管理。方便業(yè)務(wù)接入和日常運(yùn)維??梢元?dú)立通過頁面完成配置+上線。

2.基于回調(diào)和配置的擴(kuò)展點(diǎn)+流程共建(在建中):通過擴(kuò)展點(diǎn)共建方式,將流程編排的能力,暴露給內(nèi)外部的開發(fā)者,完成任務(wù)中心的共建。

有你有贊,未來可期(附內(nèi)推郵箱:sunchang@youzan.com,歡迎加入有贊業(yè)務(wù)中臺-用戶中心)
預(yù)覽

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/75953.html

相關(guān)文章

  • 有贊業(yè)務(wù)對賬平臺探索與實(shí)踐

    摘要:業(yè)務(wù)對賬平臺的核心目的,就是及時發(fā)現(xiàn)類似問題,并及時修復(fù)。這對對賬平臺的吞吐量造成了挑戰(zhàn)。五健康度對賬中心可以拿到業(yè)務(wù)系統(tǒng)及其所在整個鏈路的數(shù)據(jù)一致性信息。在分布式環(huán)境下,沒有人能回避數(shù)據(jù)一致性問題,我們對此充滿著敬畏。 一、引子 根據(jù)CAP原理,分布式系統(tǒng)無法在保證了可用性(Availability)和分區(qū)容忍性(Partition)之后,繼續(xù)保證一致性(Consistency)。我...

    wangjuntytl 評論0 收藏0
  • AI中臺:一種敏捷智能業(yè)務(wù)支持方案|宜信技術(shù)學(xué)院沙龍分享實(shí)錄

    摘要:因此數(shù)據(jù)中臺必須具備智能化能力,能夠?yàn)闃I(yè)務(wù)提供一定的智能數(shù)據(jù)分析能力。宜信作為一家金融科技公司,更多面對的是金融領(lǐng)域的智能業(yè)務(wù)需求。 showImg(https://segmentfault.com/img/bVbqQM0?w=1155&h=492); 內(nèi)容來源:宜信技術(shù)學(xué)院第1期技術(shù)沙龍-線上直播|AI中臺:一種敏捷的智能業(yè)務(wù)支持方案 主講人介紹:井玉欣 宜信技術(shù)研發(fā)中心AI應(yīng)用團(tuán)隊...

    makeFoxPlay 評論0 收藏0
  • Kubernetes系統(tǒng)架構(gòu)演進(jìn)過程與背后驅(qū)動原因

    摘要:本文中,我們將描述系統(tǒng)的架構(gòu)開發(fā)演進(jìn)過程,以及背后的驅(qū)動原因。應(yīng)用管理層提供基本的部署和路由,包括自愈能力彈性擴(kuò)容服務(wù)發(fā)現(xiàn)負(fù)載均衡和流量路由。 帶你了解Kubernetes架構(gòu)的設(shè)計意圖、Kubernetes系統(tǒng)的架構(gòu)開發(fā)演進(jìn)過程,以及背后的驅(qū)動原因。 showImg(https://segmentfault.com/img/remote/1460000016446636?w=1280...

    wuaiqiu 評論0 收藏0
  • Docker 架構(gòu)私有云機(jī)遇和挑戰(zhàn)

    摘要:說起,必須要介紹是什么東西,為什么中小企業(yè)私有云適合使用??匆幌卢F(xiàn)在的架構(gòu)圖開個玩笑。上面這四點(diǎn)導(dǎo)致我們必須要統(tǒng)一架構(gòu),最終把整個業(yè)務(wù)系統(tǒng)遷移到基于的類似于的私有云的平臺。 本文系 ArchSummit 大會 CODING 工程師王振威演講實(shí)錄。 showImg(https://dn-coding-net-production-pp.qbox.me/c2f81423-54b9-4a7b...

    bang590 評論0 收藏0
  • 軟件架構(gòu)模式

    摘要:事件處理器是自包含和獨(dú)立的,解耦于架構(gòu)。因其分布式和異步的性質(zhì),事件驅(qū)動架構(gòu)的實(shí)現(xiàn)相對復(fù)雜,主要是由于它的異步和分布式特性。微內(nèi)核架構(gòu)微內(nèi)核架構(gòu)模式也被稱為插件架構(gòu)模式。 來自于OReilly免費(fèi)的電子書:Software Architecture Patterns showImg(https://segmentfault.com/img/remote/1460000009652123...

    ZHAO_ 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<