Squbs 用于大规模的生产部署开源项目

我要开发同款
匿名用户2016年08月19日
40阅读
开发技术Scala
所属分类云计算
授权协议Apache

作品详情

Squbs是一个起源于eBay和PayPal的开源项目。

Squbs是一个软件容器,一套能实现AkkaandSpray应用/服务在大规模管理、云服务中标准化和运作的组件。

squbsComponents

Unicomplex:Themicro-containerthatbootstrapsandstandardizesthedeploymentofAkka/Sprayapplicationsandhowtheyareconfigured,allowingteamsotherthanPDtounderstandtheconfigurationandtweaktheconfigurationofapplications,partlyatruntime,asneeded.Inaddition,theUnicomplexencouragescoexistenceofdifferentmodules,calledcubes,and/oroperationaltoolinginaflexible,loosely-coupledfashionthatwillnotincuranycodechangeinordertoincludenewopstoolingordropout/changesomeopstooling.Forinstance,incaseswherewehavemixedcloudenvironmentssuchasprivateandpubliccloudneedingdifferentoperationaltools,thesamecodebasewillworkwithbothallowingdeployment-timeadditionofenvironment-specifictooling.

TestKit:Usedtohelptestapplicationswrittenforsqubs,orevenAkkaapplicationsaltogether.ItprovidesunittestandsmallscaleloadtestingfacilitiesthatcanberunaspartofCI.

ZKCluster:AZooKeeper-based,datacenter-awareclusteringlibraryallowingclusteredapplicationsorservicestospandatacenterandholdtheavailabilitycharacteristicsacrossdatacenters.Thisisneededforapplicationsthatneedintra-clustercommunications.

HttpClient:Anoperationalized,simplifiedclientthatsupportsbothenvironmentandendpointresolutiontofitintodifferentoperationalenvironments(QA,Prod)aswellasorganizationalrequirements(Topo,direct).

Pattern:AsetofprogrammingpatternsandDSLsprovidedtousers.

OrchestrationDSLallowingdeveloperstodescribetheirorchestrationsequenceinanextremelyconcisemannerwhilerunningthewholeorchestrationasynchronously,thuslargelysimplifyingcodeandreduceslatencyfortheapplication.

Asynchronoussystemsdependheavilyontimeoutsandfixedtimeoutsareneverright.TimeoutPolicyallowsuserstosetpolicy(like2.5sigma)insteadoffixedtimeoutvaluesandtakescareoftheheuristicsbyitselfallowingsystemstoadapttotheiroperatingconditions.

Spraydoesn'thavefriendlyAPIforJava,thespray.japipackageprovidesafewofHelpersandFactoriestohelpJavadeveloperstoconstructsprayentitieseasily.

ValidationprovidesaSpraydirectivefordatavalidationbyusingAccordValidationLibrary.

PersistentBufferprovidesahigh-performanceAkkaStreamsflowbuffercomponentthatpersistsitscontenttoamemory-mappedfileandrecoversthecontentafterfailureandrestart.

ActorRegistry:Acorelookupfacilityallowingactorsofloosely-coupledmodulestofindeachothers,oreventomodeldifferentservicesasactors.

ActorMonitor:Anadd-onoperationalmodulethatusesJMXtoreportthestatsandbehaviorofactorsinthesystem.ThesestatscanbeseenbyanyJMXtooling

Pipeline:Aninfrastructureallowingsequencingandplugginginofrequest/responsefilters.Theseareused,forinstance,forsecurity,ratelimiting,logging,etc.Eachofthecomponentshavevirtuallynodependencyoneachothers.Theyaretrulylooselycoupled.Developersandorganizationsarefreetopickandchoosethecomponentsneededfortheirenvironment.

Console:Adrop-inmoduleallowingwebaccesstosystemandapplicationstatsthroughasimplewebandserviceinterfacereturningpretty-printedJSON.

查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论