1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Tephra-JavaEE基于 JavaEE 的快速開(kāi)發(fā)框架

        聯(lián)合創(chuàng)作 · 2023-09-20 04:21

        Tephra旨在構(gòu)建一個(gè)穩(wěn)定、高效、易于集群、快速擴(kuò)展的JavaEE開(kāi)發(fā)框架。目前,Tephra已經(jīng)具備了以下特性:

        • 提供類(lèi)級(jí)別的熱更新,但僅建議在需要快速修正嚴(yán)重BUG、并且無(wú)法立即進(jìn)行全更新時(shí)使用。

        • 提供全冗余方式的緩存,自動(dòng)在每個(gè)節(jié)點(diǎn)間同步緩存數(shù)據(jù),而每個(gè)節(jié)點(diǎn)都僅從本地內(nèi)存中獲取緩存數(shù)據(jù),從而提供高效的執(zhí)行效率,并且當(dāng)部分節(jié)點(diǎn)宕機(jī)時(shí)仍舊能正常提供服務(wù)。當(dāng)然,也允許使用Redis提供統(tǒng)一的中心節(jié)點(diǎn)緩存。此特性可用于多節(jié)點(diǎn)負(fù)載時(shí)提供不停服更新。

        • 提供數(shù)據(jù)庫(kù)讀寫(xiě)分離、及讀負(fù)載均衡,并且允許配置多個(gè)不同的數(shù)據(jù)庫(kù),甚至允許在運(yùn)行期間增加新的數(shù)據(jù)庫(kù)配置,并自動(dòng)映射ORM。允許執(zhí)行標(biāo)準(zhǔn)的SQL或存儲(chǔ)過(guò)程,同時(shí)提供了一個(gè)簡(jiǎn)單、輕量的ORM工具,并集成Hibernate、MyBatis為復(fù)雜ORM需求提供支持。

        • 提供MongoDB工具實(shí)現(xiàn)對(duì)NoSQL的支持,支持負(fù)載均衡。

        • 提供輕量級(jí)、快速響應(yīng)的控制器,允許設(shè)置最大并發(fā)峰值,以確保在突如其來(lái)的并發(fā)攻擊后能繼續(xù)正常提供服務(wù);也允許設(shè)置單IP最大并發(fā)量,確保小量IP并發(fā)攻擊時(shí)仍能正常提供服務(wù)。允許發(fā)布為HTTP(S)、WebSocket、Socket服務(wù)。

        • 提供JavaScript腳本引擎支持,允許JavaScript與JavaBean自由交互,并且可以發(fā)布JavaScript為服務(wù);以及使用Javacript作為復(fù)雜規(guī)則驗(yàn)證器。

        • 提供Hadoop存取支持。

        • 模塊化開(kāi)發(fā),使用注解簡(jiǎn)化配置,增強(qiáng)代碼可讀性與維護(hù)性。

        Tephra取火山灰之意,因?yàn)楫?dāng)初好像剛好有個(gè)火山噴發(fā)了,而且覺(jué)得火山灰是一個(gè)毀滅者,但同時(shí)又是一個(gè)創(chuàng)造者。他毀滅了舊的體系,然后開(kāi)始用他自己的養(yǎng)分創(chuàng)造新的體系。目前看來(lái),他確實(shí)已經(jīng)毀滅了我之前的架構(gòu)(封印在SVN上很久了),接下來(lái)就看看他如何創(chuàng)建一個(gè)新的體系了。

        先說(shuō)說(shuō)核心思想,我一直向開(kāi)發(fā)人員推薦面向接口的編程思想,因?yàn)槲矣X(jué)得這是一個(gè)很Nice的指導(dǎo)方向,可以讓你的代碼更加簡(jiǎn)潔,讀之欣然。

        混合Scala編程是一個(gè)大膽的嘗試,可以彌補(bǔ)Java的一些弱點(diǎn);當(dāng)然,主要還是基于Java開(kāi)發(fā),至少一開(kāi)始如此。

        Spring仍舊是核心的組件,當(dāng)然仍舊沒(méi)有使用太多的Spring,因?yàn)槲矣X(jué)得Spring后面的很多功能已經(jīng)背離了早先的設(shè)計(jì)思想,變成一個(gè)想包羅萬(wàn)象的大家伙。Tephra中對(duì)于Spring的使用仍舊僅局限于IoC和AOP,因?yàn)槲矣X(jué)得這哥倆才是Spring最吸引人的地方。

        Hibernate是后來(lái)又補(bǔ)上的,最早的版本沒(méi)有是因?yàn)榈谝粋€(gè)版本是為游戲服務(wù)器架構(gòu)的,唯快不破的準(zhǔn)則放棄了Hibernate,而后面增加回來(lái)是基于后臺(tái)管理功能的需要。這一過(guò)程糾正了我一個(gè)開(kāi)發(fā)框架中只能存在一個(gè)ORM的想法。沒(méi)人規(guī)定不可以,是吧?!

        Struts一開(kāi)始就被放棄了,主要是因?yàn)榘踩┒刺嗔恕H缓蟾鶕?jù)自己多年使用Struts的經(jīng)驗(yàn)和習(xí)慣,開(kāi)發(fā)了專(zhuān)屬于Tephra的控制層,功能簡(jiǎn)單,但是高效。因?yàn)闆](méi)有像OGNL那么強(qiáng)大的參數(shù)映射功能,所以類(lèi)似的安全漏洞應(yīng)該不存在;不過(guò)為了調(diào)試方便后門(mén)還是需要的,有上鎖了,應(yīng)該是安全的。

        JSON成為了Tephra最主要的數(shù)據(jù)傳輸格式,輕量、跨平臺(tái)、跨終端,別無(wú)他選,至少目前如此。

        最后說(shuō)說(shuō)Maven,確實(shí)比Ant進(jìn)步不少,也許這也是一個(gè)毀滅舊體系,創(chuàng)建新體系的過(guò)程吧。

        部署藍(lán)圖 | 快速開(kāi)始

        組件圖

        模塊說(shuō)明

        • core——基礎(chǔ)模塊。

        • dao——持久化模塊。

        • ctrl——控制層模塊。

        • ctrl-http——HTTP(S)模塊。

        • ctrl-socket——Socket模塊。

        • script——腳本(JavaScript)模塊。

        • wormhole——Wormhole訪問(wèn)支持。

        • carousel——Carousel訪問(wèn)支持。

        • hadoop——Hadoop訪問(wèn)支持。

        • *test——單元測(cè)試支持。

        瀏覽 30
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久国产乱子伦精品一区二区 | 亚洲欧美日韩一区 | 女人逼网站 | 成人黄片网 | 大屌操视频| 色噜噜噜噜色 | 色戒免费观看完整版高清在线观看中文 | 污污污污污污污污污网站在线播放 | 精品久久一区二区三区三线 | 日本一级黄色电影 |