使用Titan Framework搭建一個集羣Demo

Titan Framework是一款分佈式微服務框架,因其具備簡單的配置方式,良好的集成性、多樣化的支持、豐富的自定義擴展功能,因此它是很是值得咱們去應用的。也正是由於它強大的集羣特性,使得它在面對高負載,高併發的狀況下表現得絕不遜色。本篇文章將介紹如何使用Titan Framework搭建一個集羣的基本Demo。前端

1.Titan Framework依賴包下載spring

Titan Framework依賴包能夠在Titan Framework PaaS(https://www.titanframework.cn/)平臺上下載,並經過maven添加到本地倉庫,本次示例使用的版本號爲1.4.1RELEASE。數據庫

2.瞭解Titan Framework的基本組成形式架構

使用過SSM架構的朋友們,確定都有過針對Dubbo集成微服務問題上,被繁瑣的配置方式折磨得苦惱不堪的經歷,而在Titan Framework中,咱們徹底不須要關注集羣配置問題,只須要對集羣的地址與端口進行簡單配置,其餘問題均可以交給框架處理,而後觀察業務的理解和拆分便可,這無疑幫助了咱們實現快速的微服務開發。併發

2.1集羣配置app

在泰坦框架中,會以如圖的結構去讀取集羣配置文件:框架

 

在一個集羣節點中,conf包用於存放項目中全部的配置文件信息,包括集羣配置,數據庫的配置以及其餘配置,spring包用於存放依賴spring集成的一些其餘框架的集成配置文件,cluster.properties就是用於配置集羣的配置文件,咱們來看一下它的信息:maven

而對外訪問端口則須要在以下的配置文件中去配置,以下圖:分佈式

在這個文件中,咱們只須要配置server.port便可,以下圖:微服務

到這裏,關於集羣配置的講述就結束了。

2.2代碼層的結構與相對應的做用講解

熟悉Spring MVC結構的朋友們,對Titan Framework的結構必定不會陌生,咱們來看一下:

Controller包下存放的是提供給外部使用的API,在Titan框架中,爲了可以在以往的架構中更好的進行脫藕,特別加入了handler,handler是對於代碼邏輯和controller的一個鏈接層,用於切分在controller中咱們有時會須要執行的代碼邏輯,如前端數據傳入時的類型檢查等。若是將原來介於controller層與service層中的業務邏輯放置其中,Titan Framework會自動將controller傳遞給handler,而咱們只須要遵循官方API文檔中的使用形式便可。自定義的controller須要繼承RestfulController類並使用@RestfulController註解表示,自定義的Handler須要繼承CommandHandler類並使用@CmdHandler註解表示。而在Titan框架中,全部的請求都經過command進行接收,好比默認的Create、Delete、Get等,這些command就相似在Spring MVC架構裏controller中使用的那些二級API,Titan Framework已經爲咱們提供了普通需求所須要的command,若是有特殊的須要,它也支持用戶自定義command,繼承Command類便可。

下面重點講解一下Titan Framework的Event,在Titan中,Event用於微服務之間的調用,微服務之間信息傳遞的載體就是Event,Titan Framework提供的Event基類爲AppEvent,咱們能夠繼承這個基類來創造自定義的Event,在Event中,你能夠封裝數據,能夠對數據進行本身的業務操做,這取決於實際的使用狀況。在Event中,提供了一個靜態的方法發送請求,Publish.send,或是Publish.Tell,前者用於請求遠程服務調用,後者用於請求本地服務調用。

當上遊信息發送一個攜帶Event的請求時,Titan Framework就會提供一種能夠捕獲其餘微服務發送請求的基類:EventHandler,咱們能夠繼承這個類來創造自定義的EventHandler,他的做用就是對Event的請求進行接收與處理,在EventHandler中,最重要的是Feedback.content()方法,它用於直接返回數據給前端,咱們來看一看官方文檔給出的詳細解釋:

經過這個方式返回的數據類型和官方指定的返回封裝格式Result是同樣的,因此不須要由於格式的問題而再作其餘處理。

Launch是用於啓動微服務的一個啓動器,本地調試的時候能夠直接啓動這個啓動器來啓動咱們的微服務。

Repositories包下存放的是爲數據庫服務的業務邏輯層,相似於SSM結構的mapper層。

Titan Framework對主流的數據庫有着直接支持,如MySql、MongoDB、Redis。

到這裏,一個基本的結構就已經講解完畢。

 

3.一個基本Demo的詳解

對應的Controller:

對應的handler:

使用的自定義Event:

使用一個自定義的EventHandler接收發送的跨微服務請求:

告知微服務相互調用簡單設置:

到這裏爲止,咱們就使用Titan Framework構建了一個基本的Spring MVC結構中,除了Mapper的全部部分。

相關文章
相關標籤/搜索