<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          GO-YEA分布式快速開發(fā)框架

          聯(lián)合創(chuàng)作 · 2023-10-01 07:03

          YEA

          重要事情說三遍:使用go-yea前,請先下載yea,并且執(zhí)行yea/pom.xml,不然會缺少依賴Jar包。

          mvn clean install -Dmaven.test.skip=true

          YEA項目地址:https://git.oschina.net/yiyongfei/yea

          概述

          GO-YEA是什么

          GO-YEA是YEA的一個應(yīng)用,它是一個極其容易使用的分布式框架,致力于提供產(chǎn)品的快速啟動以及后續(xù)的服務(wù)伸縮。 其核心部分包含:

          • RPC服務(wù):基于Netty4框架、序列化、數(shù)據(jù)壓縮、心跳檢測、斷鏈重連等機(jī)制提供穩(wěn)定的RPC服務(wù),完成服務(wù)之間的非阻塞通訊。
          • 負(fù)載均衡:基于Ribbon提供的負(fù)載均衡算法,通過不同的負(fù)載均衡策略可以合理分擔(dān)系統(tǒng)負(fù)載、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力。
          • 熔斷處理:基于Hystrix提供的熔斷機(jī)制,為分布式系統(tǒng)提供延遲和容錯功能,防止級聯(lián)失敗,在面臨不可避免的失敗時仍能有其彈性。
          • LOOKUP服務(wù):基于Zookeeper提供的注冊中心,使地址透明,方便服務(wù)生產(chǎn)者、消費者平滑增加或減少機(jī)器。
          • 認(rèn)證授權(quán):基于Shiro框架、Redis服務(wù)提供的權(quán)限管理,提供用戶的認(rèn)證服務(wù)和可配置的授權(quán)服務(wù)。
          • 代碼生成:通過生成工具,生成基于Mybatis的Sql-Mapping文件及相應(yīng)的Entity、PK、Domain類(均是貧血對象),降低開發(fā)人員的重復(fù)工作。
          • Spring配置:透明化接入,通過Spring自身的注解機(jī)制無需額外編寫代碼即可為服務(wù)提供分布式能力。

          GO-YEA  傳送門

          GO-YEA能做什么

          首先它是一個分布式服務(wù)框架,通過高性能的RPC遠(yuǎn)程調(diào)用以及SOA服務(wù)治理,提升產(chǎn)品在各個階段不同的可伸縮要求。以達(dá)到最大程度降低由于伸縮性的改變對整個項目的變動影響。

          系統(tǒng)伸縮性通常以三種方式完成:1、增加副本;2、功能分割;3、數(shù)據(jù)分割。YEA主要考慮前二種方式。

           Alt 后期部署

          其次它是一個快速啟動的應(yīng)用開發(fā)平臺,集成了項目中常用的基礎(chǔ)組件。

          • 認(rèn)證授權(quán):基于Shiro實現(xiàn)的可配置授權(quán)管理系統(tǒng),通過頁面可定義整個系統(tǒng)的權(quán)限、角色、授權(quán)。

          • 緩存:按照Map接口對Redis和Ehcache封裝,降低使用門檻,同時也減少未來緩存方案的遷移開銷(本地緩存向分布式緩存的遷移)。

          • ORM:基于Mybatis完成數(shù)據(jù)庫層面的增、刪、改、查操作。

          • 代碼生成:基于數(shù)據(jù)表生成Sql-Mapping文件及相應(yīng)的Entity、PK、Domain類。

          • 序列化:提高統(tǒng)一的序列化接口,支持三種序列化方式:FST、Hessian2、原生。

          • 等等

          •  Alt 技術(shù)結(jié)構(gòu)

          附上性能測試數(shù)據(jù)。

          測試環(huán)境:三臺Vultr的云主機(jī),各1 CPU(單核),1024MB 內(nèi)存,一臺部署go-yea-web(Tomcat),一臺部署Launcher(啟三個服務(wù),每個服務(wù)占用堆內(nèi)存128MB),一臺部署Jmeter用于測試。
          測試軟件:Jmeter。
          測試說明:調(diào)用api:permission/operation/query。執(zhí)行路徑Jmeter--(http)-->Go-yea-web--(netty)-->Launcher--(tcp)-->DB--(tcp)-->Launcher--(netty)-->Go-yea-web--(http)-->Jmeter
          測試結(jié)果(360并發(fā)): 
          Alt 360并發(fā)

          詳細(xì)數(shù)據(jù): 詳細(xì)結(jié)果
          提高并發(fā)數(shù),提升性能指標(biāo):可以考慮先適當(dāng)增加CPU核數(shù)和內(nèi)存容量,然后再橫向擴(kuò)充。

          縱向擴(kuò)展對比(二臺各2 CPU,4096MB 內(nèi)存云主機(jī),999并發(fā)): 
          Alt 999并發(fā)

          詳細(xì)數(shù)據(jù): 詳細(xì)結(jié)果

          訪問GO-YEA(部署在bluemix上)

          • 訪問地址:http://169.44.3.50
          • 用戶名密碼:admin admin 或 zhangsan zhangsan
          • 備注:對于admin用戶,授權(quán)時請不要移除超級管理員這個角色

          更新

          • GO-YEA是YEA的應(yīng)用,絕大多數(shù)的問題修復(fù)、功能增強(qiáng)都會在YEA上更新

          ISSUE

          • 使用期間若發(fā)現(xiàn)問題,請登記Issue,我會定期維護(hù)Issues上的問題
          瀏覽 21
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一本色道久久综合熟妇人妻 | 亚洲高清无码一区 | 国产操逼网络 | 欧美激情a级成人网站 | 77777成人网 |