Cognizant20-20Insights|May2017COGNIZANT20-20INSIGHTSExecutiveSummaryRapiddigitizationiscausingtectonicshiftsincustomerexpectationsacrossindustries.
Manyarestrugglingtoadapttothisacceleratedchange.
Asaresult,manybusinessesareaggressivelypushingITtocutdeliverytime,reducecostandimprovequality–allsimultaneously.
Microservicesarchitecture(MSA)hasemergedasonewaytoaddressthesechallenges.
MSAdescribesanewwayofdesigningsoftwareapplicationsassuitesofsmall,loosely-coupledindependentservices.
Whilethereisnoprecisedefinitionofthisarchitecturalstyle,thesearchitecturesencompasscertaincommoncharacteristicsaroundorganization,businesscapability,automateddeployment,intelligentserviceendpoints,anddecentralizedcontroloflanguagesanddata.
Liketheirpredecessors,theybringtheirownsetofuniquechallengesthatshouldbeaddressedupfronttopreventthearchitecturefromturningintoatangledmeshofpoint-to-pointcommunicationpaths.
ThiswhitepaperdescribesanapproachtomicroservicesdesignanddevelopmentthatisAcceleratingMicroservicesDesignandDevelopmentToproactivelydealwithchangingbusinessrequirementsinsideandoutsidetheenterprise,ITorganizationsmustembracemoremodularandextensiblesoftwaredevelopmentanddeploymentmethodsbuiltonasolidmicroservicesreferencearchitecture.
2CognizantSolutionsOverviewCognizant20-20InsightsbasedonadoptionofRESTfulservicesdesignbestpractices.
1Ratherthanconformingtoachecklistofdesignanddevelopmentguidelinesandbestpracticesthatencompassourcollectiveknowledgeoftherightwaysofdevelopingmicroservices,werecommendatool-basedapproachthatgeneratescodecompliantwithmicroservicesbestpracticesandthechosentechnologystack.
Webelievethatgiventheirdistributednatureandmyriadmovingparts,microservicescaneasilyturnintoanimplementationnightmare,unlesstheirdesignandprocessesareenforcedandvalidatedonanongoingbasisusingbest-in-classsoftwareengineeringtools.
ThispaperoffersacomprehensivemicroservicesdesignanddevelopmenttechniquethatnotonlyleveragesrapidlyevolvingbestpracticesbutalsosupportsandenforcesthemusingadevelopmentworkbenchthatwecallCognizantCOSMOS.
Itbuildsonourthinkingsharedinpreviousworksonthetopic,"OvercomingOngoingDigitalTransformationalChallenges"and"TheSevenWavesofChangeThatWillPow-er,orCrush,YourDigitalBusiness.
"DEFININGMICROSERVICESARCHITECTUREAmicroservicesarchitectureisanarchitecturalstylefordevelopingsoftwareapplicationsasasuiteofsmall,autonomousservicesthatworktogetherrunninginitsownprocessandthatcommunicatewithotherservicesusingalightweightcommunicationprotocol.
ThetwoprotocolscommonlyusedareHTTPrequest-responseandlightweightmessaging.
Microservicesarchitecturalstyles2arebestunderstoodbycomparingthemtotraditionalmono-lithicarchitecturalstyles–astyleofapplicationdevelopmentwhereanentireapplicationisdeployedandscaledasasingleunit.
Inmonoliths,businesslogicispackagedinasinglebundleandrunasasingleprocess.
Theseapplicationsareusuallyscaledbyrunningmultipleinstanceshorizontally.
Figure1depictsMSA'sarchitecturalimplicationsincom-parisontomonoliths.
LargerServiceCountFast-ChangingSystemLandscapeRemoteServiceCommunicationLargerAttackSurfaceFrequentServiceFailuresAlargernumberofindependentlydeployedservicesincreasesoperationalcomplexity.
Thisshiftscomplexityfromtheapplicationdeveloperstotheoperationsteam.
Thesystemlandscapeisverydynamic,withservicesredeployed,replaced,deprecatedandspawnedonacontinuousbasis.
Modularitylimitstheprivilegesanattackergetsinasingleattack.
Butitalsoincreasestheattacksurface,asmoreservicesareexposedtotheexternalworld.
Higher-servicemodularityandremotecallsincreasetheriskoffailureswhilereducingthefailurecomplexityandresolutiontime.
Servicescommunicateremotelywithoneanother.
Remotecallsimpactserviceperformanceandincreasechattiness.
Microservices:ArchitecturalImplicationsFigure12AcceleratingMicroservicesDesignandDevelopment|3MICROSERVICESARCHITECTUREImplementationChallengesAsITorganizationsmigratetoamicroservicesarchitecture,theytypicallycontendwithanumberofchallenges,mostofwhicharenotapparentinthemonolithicworld.
Asaresult,ITorganizationsneedaprovenmitigationstrategyandareferencearchitectureconsistingofcomponentsthatwebelieveareessentialforimplementingamicroservicesarchitecturefromadesign,deliveryandoperationalperspective.
ManyofthechallengesariseoutoftheverynatureoftheMSAparadigm.
Microservicesusedistributiontoimprovemodularity.
Butdistributedsoftwarehasthefollowinginherentchallenges:Performance:Remotecallsareslowercomparedtoin-processfunctioncalls.
Whilewemaylimitthenumberofremotecalls,collaboratingservicesneedtobecalledatleastonceandinmanycasesasachainofinvocations.
Fromanoperationalstandpoint,amicroservicesimplementationmusthavecomponentsformonitoringserviceperformanceandfortracingtheservice-callchainacrossprocessesandhosts.
Reliability:Remotecallshaveahigherlikelihoodoffailurethanin-processcalls.
Alargenumberofmicroservicesthusmeansmorepotentialfailurepoints.
Healthmonitoringofmicroservicesandtheirhostsarekeyforensuringsystemreliability.
Verificationthatallservicesareupandrunningiscritical.
Componentsformonitoringtheservicehealthandusagecharacteristicsensureaconstantwatchonservicelivenessbycollectingrun-timestatisticsandcreateaconsolidatedpictureofservicehealth.
Besidesservicehealth,componentstomonitorthehealthofthevirtualmachinesarealsoanessentialpartofthereferencearchitecture.
Fordebugging,acomponentforcentralizedloggingofalltheservicesisneeded;thiscanstorelogdatainacentralrepositorywithsearchanddashboardcapabilities.
Resiliency:Eachmicroservicesimplementationshouldnotonlybedesignedforfailuresbutshouldhavebuilt-infallbackmechanismstodegradegracefullywithminimumimpacttotheserviceinvocationchain.
PatternslikeCircuitBreaker3orBulkhead4shouldbeusedtodesignservicestoavoidsuchcascadingfailures.
MitigationStrategies&ReferenceArchitectureAsFigure2(nextpage)shows,amicroservicesreferencearchitecturemusthavecomponentsthataddressissuesthatariseduetoitsdynamicanddistributednature.
Servicediscovery:Trackingmicroservicesendpointsinarapidlychangingsystemlandscapeisacomplexyetnecessarytask.
Suchrapidmicroservicesconfigurationchangesarehardtomanagemanually.
Instead,ITorganizationsneedserviceregistrationandEachmicroservicesimplementationshouldnotonlybedesignedforfailuresbutshouldhavebuilt-infallbackmechanismstodegradegracefullywithminimumimpacttotheserviceinvocationchain.
4discoveryfunctionalitythatenablesmicroservicestoself-registertoacentralserviceregistryonstartup.
ServiceconsumersusethediscoveryAPItolocatetherequestedmicroservicefromtheserviceregistry.
Additionalloadbalancingcomponentscandeterminewhichinstanceofthemicroservicetoroutetherequestto,assumingmultipleinstancesaredeployedfortherequestedservice.
Configurationmanagement:Microservicesarchitectureswiththeirlargenumberofdeployedservicesmakeconfigurationmanagementtediousanderror-prone.
Localfile-basedconfigurationsareineffective.
Instead,acentralizedconfigurationmanagerisanecessity.
Inaddition,theconfigurationmanagershouldprovideAPIsthatthemicroservicescanquerytofetchconfigurationinformation.
Serviceaccessandrouting:Atypicalenterprisesystemlandscapewillcontainmanymicroservices.
Somewillbeexposedexternallyoverpublicnetworks,whileotherswillbeforinternalconsumption.
Allservices,internalandexternal,areexposedthroughtheirrespective(mostlyRESTful)APImodels.
Whilethisunifiedapproachtowrappingallbusinessfunctionalitiesasservicessimplifiesaccess,itdemandsadditionalinfrastructureforaccessmanagement.
Toexposemicroservicesexternallyandtopreventunauthorizedaccess,ITorganizationsneedanAPIgatewaythroughwhichallexternaltrafficisrouted.
Aroutingservice,whichactsasanentrypointtothemicroservicesenvironment,RESILIENCYDASHBOARDLOGANALYSISDASHBOARDSERVICEMONITORINGDASHBOARDPERFORMANCE&TRACINGDASHBOARDMONITORINGIDENTITYMICROSERVICESCONTAINER1EXECUTIONFRAMEWORKINTEGRATIONFRAMEWORKCLIENTLIBRARIESMICROSERVICESCONTAINER2EXECUTIONFRAMEWORKINTEGRATIONFRAMEWORKCLIENTLIBRARIESMICROSERVICESCONTAINERnEXECUTIONFRAMEWORKINTEGRATIONFRAMEWORKCLIENTLIBRARIESDISCOVERYSERVICECONFIGURATIONSERVICEADMINCONSOLEAPISTOREAPIMANAGERAPIGATEWAYROUTINGSERVICEDEPLOYMENTENVIRONMENTDEVELOPERWORKBENCHCONTINUOUSINTEGRATION/DELIVERYPIPELINEMicroservicesReferenceArchitectureFigure25mayoftendoubleupastheAPIgateway.
Theroutingserviceusesdynamicroutingandload-balancingcapabilitiestorouteexternalrequeststotheselectedservicebylookingupservicesfromtheserviceregistry.
Inaddition,anedgemanagementportalmayberequiredforadministeringroutingrules.
TodesigntheAPImodel,withitsconstraintsanddesignattributes,adeveloperworkbenchisneededtosupporttheAPImodelingarchetypes.
TheworkbenchshouldhavefeaturestopublishtheAPImodeltoanAPIstorewithsupportforthefullAPIlifecycle.
TheAPImodelalsoneedstobeaccess-controlledusingstate-of-the-artsecuritystandards.
FromanAPIconsumptionperspective,webelievethatacomponentinthemicroservicesreferencearchitectureisneededtosupportthedefinitionofusagepoliciesanditsassociationwithconsumers.
Infrastructureautomation:DevOpsisakeyingredientofamicroservicesreferencearchitecture.
Microservices,bynature,areagileandrapidlymovefromdevelopmenttodeployment.
Continuousintegration(CI)andcontinuousdelivery(CD)automatetestinganddelivery,ensuringthatthesoftwareisworkingasperexpectationeverytime.
(FormoreonCIandCD,readourwhitepaper,"PatternsforSuccess:LessonsLearnedWhenAdoptingEnterpriseDevOps.
"Datastrategy:Oneofthemajorchallengesofmigratingtoamicroservicesarchitectureistoadoptthedatabase-per-servicedesignpattern.
Inmonolithicservicearchitecture,businesstransactionsconvergeonthedatabaselayer,makingitasharedservice.
Thisgoesagainstthenotionofanend-to-endloosely-coupledcomponent,whichisstronglyadvocatedbymicroservicespurists.
Thebestsolutiontomitigatethischallengeistouseaneventuallyconsistentdatabase.
5OURAPPROACHTOMSAEXCELLENCECOSMOSisanopen-standards-basedsolutionformicroservicesdesignanddelivery(seeFigure3)Figure3ModelingAPIsthatpromoteRESTfuldesignbestpracticesGeneratesoperationalgovernancecomponentsSupportsmultipletechnologyoptionsandinteractionPublishesAPImodeltoAPIstoreGeneratesbusinessservicescomponentsGeneratesdeploymentbundlesfordifferentdeploymentenvironmentsCognizantCOSMOS:Aunifiedsolutionfordevelopingmicroservices;generatingmicroservicesgovernancecomponents;modeling,publishingandmanagingthemicroservices;andbuildingrequiredartifactsforcloud-basedandon-premisesdeployment.
Governancecomponentgeneration:Generatescriticalinfrastructureservicecomponentsrequiredforoperationalgovernance–routingservice,discoveryservice,configurationservice,performancemonitoringandmanagementcomponents.
Deploymentoptions:Supportsongoingservicedeploymentsbypackagingthedevelopedartifactsintoexecutable,deployablebundlesappropriateforthedeploymentenvironment(on-premises,IaaS,PaaS).
Businessservicegeneration:Generatesskeletonprojectsforthecoreandcompositebusinessmicroservices.
PeeringintotheCOSMOS61CognizantSolutionsOverviewEachmicroservicesimplementationshouldnotonlybedesignedforfailuresbutshouldhavebuilt-infallbackmechanismstodegradegracefullywithminimumimpacttotheserviceinvocationchain.
whichimplementsthereferencearchitecturedescribedabove.
Italsoprovidesaunifiedworkbenchforthefollowingactivities:Developingmicroservices:Microservicescharacteristicsincludetheorganizationofalogicalblockoffunctionalityaroundaspecificbusinesscapability,programminglanguageagnosticismanddecentralizedcontrolofdata.
Thus,eachmicroservicesprojectwillhaveitsAPIinterfaceandimplementationclasses,itsowndatapersistenceandmanagementmodule,clientlibrariesrequiredtoefficientlycommunicatewithothermicroservicesandtheoperationalgovernanceinfrastructure.
Optionally,itmayalsoincludetheclientclassesrequiredtoconnectwithback-endresources.
Generatingcomponentsforoperationalgovernance:Thereferencearchitecturerecommendsagroupofcriticalinfrastructureservicecomponentsforoperationalgovernance.
Thesemaybebroadlyclassifiedintothefollowing:Aroutingservicethatactsasareverseproxyattheedgeofthemicroservicesnetworkwithsupportfordynamicroutingrules.
Adiscoveryservicethatallowsindividualmicroservices(andothersupportingcomponents)toregisteratstartup,includingclientlibrariestolookupanddiscovertheserviceinstancesfromtheserviceregistry.
Aconfigurationservicethatcentrallystoresandmanagesallconfigurationdataacrossbusinessandinfrastructureservices.
Performancemonitoringandmanagementcomponentsthatmonitorvirtualmachines,supportlogaggregation,visualizationandanalysis,ensureserviceresiliencythroughintelligentroutingandenabledistributedcalltracing.
ModelingandpublishingAPIsforaccessingmicroservices:OurworkbenchprovidesanintuitiveAPIdesignerinterfacetomodelRESTfulAPIsforthemicroservices.
ThemodelingactivitypromotestheadoptionofbestpracticesandthetypicalconstraintsoftheRESTfuldesignpattern.
Itsupportstheuseofvariousmediatypes,includinghypermediaconstructs,inresponses.
ModelingactivityistypicallyfollowedbyautomatedcodegenerationwiththecapabilitytogenerateaRESTfulservicesinterfaceandimplementationclassesusingmultipletechnologyoptions.
Thelibraries7requiredbythemicroservicestoconnectwithothermicroservicesandtoexchangedatawiththeoperationalgovernanceinfrastructureisalsoinjectedintotheskeletalclasses.
Customservicelogicneedstobeaddedtothegeneratedcode.
Somemicroservicesareexposedforinvocationoverthepublicnetwork.
ThereferencearchitecturerecommendsinclusionofinfrastructurecomponentsforAPImanagement.
ThesecomponentstypicallyconsistofanAPImanagertomanage,anAPIstoretohostandanAPIgatewaytoactasasingleentrypointforthepublicAPIs.
WebelievethatAPImanagementinfrastructureformsanintegralpartofthereferencearchitectureformicroservicesimplementation.
Theconvergenceoftheserelatedyetdistincttechnologyparadigmsisacriticalsuccessfactorformicroservicesarchitecture.
COSMOShassupportfordifferentAPImanagementsolutions,bothopen-sourceandcommercial.
Buildinganddeployingtheartifactstocloudoron-premisesinfrastructure:Theworkbenchsupportsservicedeploymentstobothon-premisesinfrastructuresandcloudbypackagingthedevelopedartifacts(compiledcode,configurations,etc.
)intoexecutable,deployablebundles.
COSMOScanalsobeintegratedwithcontinuousdeliveryinfra-structures(CI/CD)wherebyanychangesmadetocomponentsmaytriggertheCI/CDbuildanddeploymentpipelinedirectlyfromtheworkbench.
IMPLEMENTINGMICROSERVICESVIAOPENSOURCEOneofthekeycharacteristicsofamicroservicesarchitectureistechnologydiversityandthesupportforit.
Thereareavarietyoflibrariesandframeworksavailabletodaythatimplementthevariouscomponentsofthereferencearchitectureshownabove.
Thevarietyexistsnotonlyintermsofprogramminglanguages,butalsointermsofthevariouscommunication8patternsbetweenthesecomponents.
Synchronousinteractionbetweenmicroservicesmaynotalwaysbetheoptimumoption.
Theexchangeofdatawithoperationalcomponentsforperformancemonitoringorcalltracing,forinstance,typicallyadoptstheasynchronousmessageexchangepatternthroughanunder-lyingmessagebroker.
COSMOSsupportstheopen-sourceSpringCloudNetflixstackasoneofitstechnologyoptionsforimplementation.
Figure4depictshowcomponentsoftheSpringCloudNetflixstackmaptoourreferencearchitecture.
ComponentsdepictedinFigure4thatdirectlymaptotheSpringCloudNetflix,SpringFrameworkandotherrecommendedopen-standard,open-sourcestacksarerepresentedinbolditalicizedfont.
COSMOScanalsointegratewithcustom-builtandthird-partysolutionsforimplementingcomponentsofthereferencearchitectureasneeded.
SupportforadditionaltechnologyoptionsarebeingcontinuouslyaddedtoCOSMOS.
ApacheCamelandEclipseVert.
xsupportforimplementingamicroservicesarchitectureareintheworksandplannedforreleaseinthenextversion.
HYSTRIXDASHBOARDELKDASHBOARDCONSULDASHBOARDZIPKINDASHBOARDMONITORINGOAUTH2.
0MICROSERVICESCONTAINER1SPRINGREST/JAX-RSAPACHECAMELRIBBON,HYSTRIXMICROSERVICESCONTAINER2SPRINGREST/JAX-RSAPACHECAMELRIBBON,HYSTRIXMICROSERVICESCONTAINERnSPRINGREST/JAX-RSAPACHECAMELRIBBON,HYSTRIXEUREKAARCHAIUSSPRINGBOOTADMINCONSOLEAPISTOREAPIMANAGERAPIGATEWAYZUULDEPLOYMENTENVIRONMENTECLIPSECOSMOSPLUGINCONTINUOUSINTEGRATION/DELIVERYPIPELINESpringingForwardwithMicroservicesFigure4"Oneofthekeycharacteristicsofamicroservicesarchitectureistechnologydiversityandthesupportforit.
"9LOOKINGFORWARDCOSMOSoffersawidevarietyoftechnologyoptionsandcommunicationpatternstoimplementmicroservicesarchitecture.
Itisenvisionedtobeanextensibledevelopmenttoolinwhichsupportfornewerlibraries,frameworksanddeploymentplatformscanbeaddedincrementallythroughplug-insastheymatureandarereadyforproductionuse.
WebelievethatasolutionlikeCOSMOSprovidesanumberofcompellingbenefits,including:Awidearrayoftechnologyoptionsforimplementingdifferentcomponentsofamicroservicesreferencearchitecture.
Auto-generatingtheplumbingcodebasedonthechosentechnologystack,ensuringahighqualityofcodingstandardcomplianceandconsistencyacrossimplementations.
EnforcingacommonstandardforAPImodelingacrossteams,businessunitsandgeographies.
10DipanjanSenguptaChiefArchitect,SoftwareEngineeringandArchitectureLabDipanjanSenguptaisaChiefArchitectwithintheSoftwareEngineeringandArchitectureLabofCognizant'sGlobalTechnologyOffice.
Hehasextensiveexperienceinservice-orientedintegration,integrationofcloud-basedandon-premisesapplications,APImanagementandmicroservices-basedarchitecture.
Dipanjanhasapost-graduatedegreeinengineeringfromIITKanpur.
HecanbereachedatDipanjan.
Sengupta@cognizant.
com.
ABOUTTHEAUTHORSFOOTNOTESHiteshBagchiPrincipalArchitect,SoftwareEngineeringandArchitectureLabHiteshBagchiisaPrincipalArchitectwithintheSoftwareEngineeringandArchitectureLabofCognizant'sGlobalTechnologyOffice.
Hehasextensiveexperienceinservice-orientedarchitecture,APImanagementandmicroservices-basedarchitecture,distributedapplicationdevelopment,streamcomputing,cloudcomputingandbigdata.
HiteshhasaB.
Tech.
degreeinengineeringfromUniversityofCalcutta.
HecanbereachedatHitesh.
Bagchi@cognizant.
com.
PijushKantiGiriArchitect,SoftwareEngineeringandArchitectureLabPijushKantiGiriisanArchitectwithintheSoftwareEngineeringandArchitectureLabofCognizant'sGlobalTechnologyOffice.
HehasextensiveexperienceinEclipseplug-inarchitectureanddevelopingEclipseRCPapplications,APImanagementandmicroservices-basedarchitecture.
PijushhasaB.
Tech.
degreeincomputersciencefromUniversityofKalyani.
HecanbereachedatPijushkanti.
Giri@cognizant.
com.
1http://www.
drdobbs.
com/web-development/restful-web-services-a-tutorial/240169069.
2JamesLewisandMartinFowler,"Microservices,"http://martinfowler.
com/articles/microservices.
html.
3MartinFowler,"CircuitBreaker,"http://martinfowler.
com/bliki/CircuitBreaker.
html.
4MichaelT.
Nygard,"ReleaseIt!
DesignandDeployProduction-ReadySoftware,"https://pragprog.
com/book/mnee/release-it.
5Vogels,W,"ScalableWebServices:EventuallyConsistent,"ACMQueue,vol.
6,no.
6,pp.
14-16,October2009.
ABOUTCOGNIZANTCognizant(NASDAQ-100:CTSH)isoneoftheworld'sleadingprofessionalservicescompanies,transformingclients'business,operatingandtechnologymodelsforthedigitalera.
Ouruniqueindustry-based,consultativeapproachhelpsclientsenvision,buildandrunmoreinnovativeandefficientbusinesses.
HeadquarteredintheU.
S.
,Cognizantisranked230ontheFortune500andisconsistentlylistedamongthemostadmiredcompaniesintheworld.
LearnhowCognizanthelpsclientsleadwithdigitalatwww.
cognizant.
comorfollowus@Cognizant.
WorldHeadquarters500FrankW.
BurrBlvd.
Teaneck,NJ07666USAPhone:+12018010233Fax:+12018010243TollFree:+18889373277EuropeanHeadquarters1KingdomStreetPaddingtonCentralLondonW26BDEnglandPhone:+44(0)2072977600Fax:+44(0)2071210102IndiaOperationsHeadquarters#5/535OldMahabalipuramRoadOkkiyamPettai,ThoraipakkamChennai,600096IndiaPhone:+91(0)4442096000Fax:+91(0)4442096060Copyright2017,Cognizant.
Allrightsreserved.
Nopartofthisdocumentmaybereproduced,storedinaretrievalsystem,transmittedinanyformorbyanymeans,electronic,mechanical,photocopying,recording,orotherwise,withouttheexpresswrittenpermissionfromCognizant.
Theinformationcontainedhereinissubjecttochangewithoutnotice.
Allothertrademarksmentionedhereinarethepropertyoftheirrespectiveowners.
TLCodex2533
mineserver怎么样?mineserver是一家国人商家,主要提供香港CN2 KVM VPS、香港CMI KVM VPS、日本CN2 KVM VPS、洛杉矶cn2 gia端口转发等服务,云服务器网(yuntue.com)介绍过几次,最近比较活跃。现在新推出了3款特价KVM VPS,性价比高,香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps...
之前几个月由于CHIA挖矿导致全球固态硬盘的价格疯涨,如今硬盘挖矿基本上已死,硬盘的价格基本上恢复到常规价位,所以,pacificrack决定对全系Cloud server进行价格调整,降幅较大,“如果您是老用户,请通过续费管理或升级套餐,获取同步到最新的定价”。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款VPS特征:基于KVM虚拟,纯SSD raid...
提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...
springcloud为你推荐
杀毒软件哪个好什么杀毒软件最好?莫代尔和纯棉哪个好莫代尔和纯棉内裤哪个好?压缩软件哪个好现在哪个压缩软件最稳定又快 ?手动挡和自动挡哪个好自动挡和手动挡哪个好?浏览器哪个好用哪款浏览器好用核芯显卡与独立显卡哪个好核芯显卡和独立显卡有什么区别?最好的是哪个?尼康和佳能单反哪个好佳能和尼康哪个好雅思和托福哪个好考托福和雅思哪个好考 急。。。。。电动牙刷哪个好飞利浦电动牙刷哪款好?求推荐视频软件哪个好编辑视频用什么软件最好
网址域名注册 视频空间租用 云网数据 virpus themeforest 100m免费空间 上海域名 hinet 华为云盘 万网空间管理 什么是web服务器 个人免费邮箱 中国联通宽带测速 万网主机 免费个人网页 宿迁服务器 cdn服务 移动王卡 ping值 asp.net虚拟主机 更多