說框架設計思路

     其旨在打造一個集應用開發、大數據存儲、處理、分佈式計算、自動化部署的無節點微服務集中開發與運行平臺,以響應業務的快速變動,知足系統對大數據,大併發與開發效率的需求;mysql

        平臺設計以數據爲核,以groovy腳本爲基礎,經過提供api、異步消息處理、調度等基礎構件來支持應用的快速開發;redis

        核心是經過整合現有開源項目來實現的,其主要用到的技術棧包括:spring cloud, zookeeper, kafka, elasticsearch, mysql, kudu(hadoop系列), fastdfs,redis, quartz, maxwell, groovy, activitiy,couchdb等。spring

 

核心概念介紹

項目 - project

其對應一個微服務應用,一個項目定義了一個應用的邊界,每一個項目有惟一的代碼與請求上下文路徑,全部資源,接口,調度,通道或觸發器都必需歸屬一個項目,項目與項目之間的調用須要受權。sql

模塊 - module

其對應項目下的一個模塊,每一個模塊能夠由一系列的節點組成,方便進行管理。數據庫

資源 - resource

資源定義了項目中能夠使用的數據庫,消息,緩存,文件存儲等服務,項目資源只能引用平臺上配置的全局資源,在後續的api等腳本中,能夠經過資源腳本對象對資源進行操做。api

計劃支持的資源類型:mysql,oracle,kudu,es(elasticsearch),redis,kafka,filestore,couchdb緩存

外部接口 - restapi

restapi定義了項目對外提供的rest接口;其經過urlmapping來映射外部訪問地址,urlmapping爲ant表達式,例如:/foo/**或/foo/*/bar安全

rest接口能夠綁定受權,你實現權限驗證;rest接口也能夠支持mockscript,實現mock;支持經過docapi來指定接口文檔。併發

本地接口 - localapi

本地接口,主要用於在項目內定義一些公共方法,以便其它腳本使用,內部接口能夠經過項目腳本對象的call方法來調用,例如:def robj = prj.call('foo', name:'abc');oracle

項目過濾器  - filter

過濾器用於攔截請求,其分爲項目filter與全局filter

項目filter只能對當前項目的restapi或filter進行攔截,其經過urlmapping來指定攔截路徑。

全局過濾器 - globalfilter

全局filter能夠攔截全部項目的restapi或filter進行攔截,項目中如須要配置全局filter必需得到管理員爲其配置的「全局filter"定義的受權。

項目通道 - channel

通道主要用於異步處理,其對應一個kafka的topic,在腳本中能夠經過prj.sendChannel('foo', 'valuestr')的方式觸發channel腳本的執行。

channel默認是有序單隊列的,若是須要支持無序併發處理,請將配置的hostnum設置大於1,考慮到資源佔用,暫時最高不能大於100。

全局通道 - publicchannel

全局通道主要用於向其它項目廣播,例如在產品主數據修改後,聯採,交易,結算等都須要同步數據。

其它項目如須要監聽當前通道,須要經過allowPullProjects爲其它項目受權,其它項目能夠使用publicreciver來監聽其它項目的廣播。

其它項目如須要發送數據到當前通道,能夠經過prj.sendPublicChannel('project', 'channelname', 'valuestr')來實現,同時當前通道須要設置allowPushProjects來受權。

全局消息處理器  - publicreciver

用於接收全局廣播,其對應publicchannel

觸發器 - trigger

監聽數據庫的變更,當前只支持MYSQL;

調度 - schedule

用於定義項目中的調度,經過定義cron表達式來指定執行週期。

ES數據集 - dataset

用於定義elasticsearch的索引庫,其能夠經過copyfromtable來同步某個數據庫表的結構;

dataset變動後須要重建索引纔會生效。

數據庫表 - table

用於定義數據庫資源中的表。

數據初始化 - datainit

用於定義數據庫資源中的初始化數據。

 

——————————————

推薦閱讀:

Kafka 入門教程

你能夠不懂但必定要知道的代碼審查 Code Review

ELK Stack 實戰教程

filebeat+kafka+strom+logstash+es 輿情采集系統

安全漏洞掃描,風險緣由分析及解決方案

相關文章
相關標籤/搜索