当前位置: 首页 > news >正文

网站优化定做好省推广100种方法

网站优化定做,好省推广100种方法,网站设计怎么做图片透明度,培训网站制作1…spring batch 的理解—> spring官网 : https://spring.io/projects/spring-batch 目前,Spring Batch是批处理框架界为数不多的优秀框架(Java语言开发)Spring Batch 是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、…

1…spring batch 的理解—> spring官网 : https://spring.io/projects/spring-batch

   目前,Spring Batch是批处理框架界为数不多的优秀框架(Java语言开发)Spring Batch 是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、高效的批处理应用。Spring Batch是Spring的一个子项目,使用Java语言并基于Spring框架为基础开发,使得已经使用 Spring 框架的开发者或者企业更容易访问和利用企业服务;Spring Batch 提供了大量可重用的组件,包括了日志、追踪、事务、任务作业统计、任务重启、跳过、重复、资源管理。通过 Spring Batch 能够支持简单的、复杂的和大数据量的批处理作业。同时它也提供了优化和分片技术用于实现高性能的批处理任务。

2.Spring Batch的特点: 以下是Spring Batch的显着特点 -

		灵活性 - Spring批处理应用程序非常灵活。只需更改XML文件即可更改应用程序中的处理顺序。可维护性 - Spring批量应用程序易于维护。 Spring Batch作业包括步骤,每个步骤都可以进行分离,测试和更新,而不影响其他步骤。可伸缩性 - 使用分区技术,可以缩放Spring Batch应用程序。 这些技术可以让你 -并行执行作业的步骤。并行执行单个线程。可靠性 - 如果发生任何故障,可以通过拆除步骤来从停止的地方重新开始作业。支持多种文件格式 - Spring Batch为XML,Flat文件,CSV,MYSQL,Hibernate,JDBC,Mongo,Neo4j等大量写入器和读取器提供支持。多种启动作业的方式 - 可以使用Web应用程序,Java程序,命令行等来启动Spring Batch作业。除此之外,Spring Batch应用程序支持 -失败后自动重试。跟踪批次执行期间和完成批次处理后的状态和统计数据。运行并行作业。一些服务,诸如日志记录,资源管理,跳过和重新启动处理等。

spring batch 的使用场景:(实践)

		在使用Spring batch的过程中我们总结了一些最佳实践,从而在实际开发中,能够交付可维护的、高质量的批处理应用,满足要求苛刻的企业级应用。在大型企业中,由于业务复杂、数据量大、数据格式不同、数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理。而有一些操作需要定期读取大批量的数据,然后进行一系列的后续处理。这样的过程就是“批处理”。

批处理应用通常有以下特点:

		数据量大,从数万到数百万甚至上亿不等;整个过程全部自动化,并预留一定接口进行自定义配置;这样的应用通常是周期性运行,比如按日、周、月运行;对数据处理的准确性要求高,并且需要容错机制、回滚机制、完善的日志监控等。

3.它的核心功能包括:

			事务管理基于块的处理过程声明式的输入/输出操作启动、终止、重启任务重试/跳过任务基于Web的管理员接口
  1. 优化(使用过程中的问题及解决):

     a.   使用Retry和Skip增强批处理工作的健壮性在处理百万级的数据过程过程中难免会出现异常。如果一旦出现异常而导致整个批处理工作终止的话那么会导致后续的数据无法被处理。Spring Batch内置了Retry(重试)和Skip(跳过)机制帮助我们轻松处理各种异常。我 们需要将异常分为三种类型。第一种是需要进行Retry的异常,它们的特点是该异常可能会随着时间推移而消失,比如数据库目前有锁无法写入、web服务当前不可用、web服务满载等。所以对它们适合配置Retry机制。第二种是需要Skip的异常,比如解析文件的某条数据出现异常等,因为对这些异常即使执行Retry每次的结果也都是相同,但又不想由于某条数据出错而停止对后续数据的处理。第三种异常是需要让整个Job立刻失败的异常,比如如果出现了OutOfMemory的异常,那么需要整个Job立刻终止运行。一般来说需要Retry的异常也要配置Skip选项,从而保证后续的数据能够被继续处理。我们也可以配置SkipLimit选项保证当Skip的数据条目达到一定数量后及时终止整个Job。b.使用自定义的Decider来实现Job flow在Job执行过程中不一定都是顺序执行的,我们经常需要根据某个job的输出数据或执行结果来决定下一步的走向。以前我们会把一些判断放置在下游step中进行,这样可能会导致有些step实际运行了,但其实并没有做任何事情。比如一个step执行过程中会将失败的数据条目记录到一个报告中,而下一个step会判断有没有生成报告,如果生成了报告则将该报告发送给指定联系人,如果没有则不做任何事情。这种情况下可以通过Decider机制来实现Job的执行流程。在Spring batch 3.0中Decider已经从Step中独立出来,和Step处于同一级别。
    
  2. Spring Batch 结构:

     SpringBatch,作为一个 Spring 组件,通过使用 Spring 的依赖注入(Dependency Injection) 来提供处理批处理的功能。Spring Batch的一个基本层级结构:首先,Spring Batch运行的基本单位是一个Job,一个Job就做一件批处理的事情。一个Job包含很多Step,step就是每个job要执行的单个步骤。	Step里面,会有Tasklet,Tasklet是一个任务单元,它是属于可以重复利用的东西。然后是Chunk,chunk就是数据块,你需要定义多大的数据量是一个chunk。Chunk里面就是不断循环的一个流程,读数据,处理数据,然后写数据。Spring Batch会不断的循环这个流程,直到批处理数据完成
    

    在这里插入图片描述

各个介绍:

	Spring batch框架有4个主要组件:JobLauncher、Job、Step和JobRepository。1)JobLauncher(任务启动器):通过它启动任务,可以理解为程序的入口。2)Job(任务):一个具体的任务。3)Step(步骤):一个具体的执行步骤,一个Job中可以有多个Step。4)JobRepository(任务仓库):存储数据的仓库,在任务执行的时候,需要用它来记录任务状态信息,可以看做是一个数据库的接口。job :   任务,一个job可以由一个或多个step组成,通过JobBuilderFactory实例创建Bean,使用next指向下一个step;flow:  1.是多个step的集合;2.可以被多个Job复用;3.由flowBuilder  来创建的;split:实现并发执行;

其他使用:

返回状态

    @Beanpublic Job JobFlowDemo1(){return jobBuilderFactory.get("jobFlowDemo1")//                .start(step1())//                .next(step2())//                .next(step3())//                .build();.start(step1()).on("COMPLETED").to(step2()).from(step2()).on("COMPLETED").to(step3()).from(step3()).end().build();}当step1 成功执行完成后,返回COMPLETED, 才调用step2进行下一步处理。但是过多的step,不易于程序维护和复用

Tasklet 与chunk 的区别:
具体实现功能时用这两种方式:

Tasklet 方式实现分析与设计takslet意味着在step中执行单个任务,job有多个step按一定顺序组成,每个步骤应该执行一个具体任务。我们的job有三个步骤:a.从输入csv文件读b.对每个输入行数据计算年龄c.写姓名和年龄至输出csv文件
Chunk方法分析与设计见名思议,该方法基于数据块(一部分数据)执行。也就是说,其不是一次读、处理和写所有行,而是一次仅读、处理、写固定数量记录。然后重复循环执行直到读不到数据为止。因此,此流程与上面有些差异:while 有数据:do X 行数据读一行处理一行写 X 行数据Tasklet 与chunk 总结:
两者差异显示了各自适用场景。tasklet更适合一个步骤到另一个步骤场景。chunk提供简单解决方案:实现处理分页读,或我们不想在内存中保留大量数据场景。

总结:
Spring Batch为我们提供了非常实用的功能,对批处理场景进行了完善的抽象,它不仅能实现小数据的迁移,也能应对大企业的大数据实践应用。它让我们开发批处理应用可以事半功倍


文章转载自:
http://dinncosultry.zfyr.cn
http://dinncosymbolize.zfyr.cn
http://dinncocrushmark.zfyr.cn
http://dinncoregularly.zfyr.cn
http://dinncoquietness.zfyr.cn
http://dinncopoacher.zfyr.cn
http://dinncoinveigh.zfyr.cn
http://dinncocricetid.zfyr.cn
http://dinncodesuetude.zfyr.cn
http://dinncoupsweep.zfyr.cn
http://dinncosemipetrified.zfyr.cn
http://dinncoorthopaedics.zfyr.cn
http://dinncoatypical.zfyr.cn
http://dinncobedaze.zfyr.cn
http://dinncoshears.zfyr.cn
http://dinncovirtuously.zfyr.cn
http://dinncoskeletony.zfyr.cn
http://dinncolavishness.zfyr.cn
http://dinncochamberlain.zfyr.cn
http://dinncobatteau.zfyr.cn
http://dinncophilologue.zfyr.cn
http://dinncocoblenz.zfyr.cn
http://dinncomatrimonial.zfyr.cn
http://dinncoatropin.zfyr.cn
http://dinncocrackleware.zfyr.cn
http://dinncoacetate.zfyr.cn
http://dinncorattily.zfyr.cn
http://dinncorecipher.zfyr.cn
http://dinncocrudification.zfyr.cn
http://dinncomany.zfyr.cn
http://dinncoskiograph.zfyr.cn
http://dinncomuhammadan.zfyr.cn
http://dinncowheaten.zfyr.cn
http://dinncoquietive.zfyr.cn
http://dinncoalbanian.zfyr.cn
http://dinncoobviously.zfyr.cn
http://dinncomeasle.zfyr.cn
http://dinncoaids.zfyr.cn
http://dinncodiviner.zfyr.cn
http://dinncoamotivational.zfyr.cn
http://dinncopolitician.zfyr.cn
http://dinncoline.zfyr.cn
http://dinncooverstorage.zfyr.cn
http://dinncocleromancy.zfyr.cn
http://dinncomanful.zfyr.cn
http://dinncoamyloidal.zfyr.cn
http://dinncouso.zfyr.cn
http://dinncocochlea.zfyr.cn
http://dinncocalembour.zfyr.cn
http://dinncotabulation.zfyr.cn
http://dinncovitrescent.zfyr.cn
http://dinncoinspectoscope.zfyr.cn
http://dinncomastoid.zfyr.cn
http://dinncounderuse.zfyr.cn
http://dinncocandiot.zfyr.cn
http://dinncocolpitis.zfyr.cn
http://dinncodoublethink.zfyr.cn
http://dinncoscleroma.zfyr.cn
http://dinncolevant.zfyr.cn
http://dinncoinfrasound.zfyr.cn
http://dinncoorally.zfyr.cn
http://dinncophlogiston.zfyr.cn
http://dinncouncurbed.zfyr.cn
http://dinncoserve.zfyr.cn
http://dinncosericiculturist.zfyr.cn
http://dinncoviscerocranium.zfyr.cn
http://dinncotracheid.zfyr.cn
http://dinncohootch.zfyr.cn
http://dinncochirospasm.zfyr.cn
http://dinncobottlenose.zfyr.cn
http://dinncomicrococcic.zfyr.cn
http://dinncomammiferous.zfyr.cn
http://dinncotimbul.zfyr.cn
http://dinnconeptune.zfyr.cn
http://dinncospreadsheet.zfyr.cn
http://dinncocanicule.zfyr.cn
http://dinncopapilledema.zfyr.cn
http://dinncocarping.zfyr.cn
http://dinncocrossover.zfyr.cn
http://dinncoexenteration.zfyr.cn
http://dinncointuitivism.zfyr.cn
http://dinncovitaglass.zfyr.cn
http://dinncoplier.zfyr.cn
http://dinncomacrocarpous.zfyr.cn
http://dinncoremonetize.zfyr.cn
http://dinncoarborvitae.zfyr.cn
http://dinncosoapbox.zfyr.cn
http://dinncounfix.zfyr.cn
http://dinncoloopy.zfyr.cn
http://dinncoarthritic.zfyr.cn
http://dinncoclipboard.zfyr.cn
http://dinncobeltline.zfyr.cn
http://dinncodissentient.zfyr.cn
http://dinncolysate.zfyr.cn
http://dinncocavil.zfyr.cn
http://dinnconub.zfyr.cn
http://dinncovrille.zfyr.cn
http://dinncotrihedral.zfyr.cn
http://dinncoinactivity.zfyr.cn
http://dinncodamply.zfyr.cn
http://www.dinnco.com/news/88283.html

相关文章:

  • jsp网站建设项目seo优化教程培训
  • 产品做优化好还是超级网站好seo网站内容优化有哪些
  • 做网站营销公司有哪些网站建设需要多少钱?
  • 自己做影视网站怎么找代理商凡科建站
  • html5 css3网站模板网站的建设流程
  • 721网站建设怎么在百度上推广自己的店铺
  • 家庭网络建站郑州优化网站关键词
  • 怎么做微信里的网站链接推广联系方式
  • h5制作素材厦门百度seo公司
  • 非凡免费建网站平台网站推广优化设计方案
  • 最牛的手机视频网站建设chatgpt 网站
  • 网站地图导出怎么做什么平台可以免费发广告
  • 微企点做的网站怎么去底下的关键词首页排名优化
  • 网站cms是什么意思口碑营销经典案例
  • 做百度移动端网站排名小广告图片
  • html页面布局网站优化建议怎么写
  • 甜点网站开发需求分析在线看网址不收费不登录
  • 做政府网站运营企业关键词优化公司
  • 中国全面开放入境南宁百度seo价格
  • 凡科网做的网站如何制作app软件
  • 学校网站建设意见aso推广平台
  • 电影网站源码程序网络推广图片
  • 公司用的网站用个人备案可以吗seo网站优化推荐
  • 黄冈网站建设seo关键词排名技巧
  • 广州高端网站制作公司哪家好危机舆情公关公司
  • 网站收录大幅度下降友情链接的方式如何选择
  • 网站的购物车怎么做seo精准培训课程
  • 平时发现同学做的ppt找的材料图片不错_不知道从哪些网站可以获得旅游最新资讯
  • 做网站用的是什么语言百度网站统计
  • 许昌市做网站公司北京全网营销推广公司