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

页面设计网站素材网站被黑了怎么办

页面设计网站素材,网站被黑了怎么办,缘震网络网站建设之f套餐,wordpress如何一栏显示不出来​需求介绍#xff1a;构建一个分布式短信发送系统#xff0c;应对双十一活动需向1000万用户快速推送营销短信的挑战#xff0c;每条数据的业务处理逻辑为0.1s。对于普通任务来说#xff0c;只有一个线程来处理 可能需要10万秒才能处理完#xff0c;业务则严重受影响。 常…​需求介绍构建一个分布式短信发送系统应对双十一活动需向1000万用户快速推送营销短信的挑战每条数据的业务处理逻辑为0.1s。对于普通任务来说只有一个线程来处理 可能需要10万秒才能处理完业务则严重受影响。 常见的一些定时任务介绍 1. java自带的java.util.Timer类 优点 简单易用Timer类提供了简单直观的API使得开发者能够快速上手实现基本的定时任务需求。创建一个定时任务只需几行代码即可完成。灵活性Timer允许你安排任务在指定的延迟后执行一次或者以固定的间隔重复执行。这对于很多简单的定时任务场景来说已经足够灵活。集成方便作为Java标准库的一部分Timer无需引入额外的依赖可以直接在任何Java项目中使用便于维护和移植缺点 单线程执行Timer使用一个后台线程来执行所有安排的任务这意味着所有任务都是串行执行的。如果一个任务执行时间过长可能会阻塞其他任务的执行导致整体性能下降或任务延迟。资源限制于异常处理由于所有任务共享同一个线程如果任务执行中抛出未捕获的异常整个Timer线程将会终止导致后续所有任务都不会被执行。此外没有内置机制来优雅地管理或回收长时间运行或失败的任务所占用的资源功能有限相较于更复杂的调度框架如ScheduledExecutorService或第三方库如QuartzTimer的功能较为基础不支持复杂的调度策略如cron表达式、任务优先级管理或动态任务调整。2. SchduledExecutorService ScheduledExecutorService是Java并发包java.util.concurrent中的一个接口继承自ExecutorService专门用于定时和周期性任务的执行。它是基于线程池的相较于java.util.Timer提供了更多的灵活性和更高的可靠性。 优点 线程池支持ScheduledExecutorService基于线程池执行任务可以有效管理线程资源避免了因任务堆积导致的资源耗尽问题。线程池可以重用线程减少了线程创建和销毁的开销。并发执行任务在独立的工作线程中并行执行不会因为一个任务的执行阻塞其他任务提高了执行效率尤其适合需要同时处理多个定时任务的场景。异常处理当任务执行中抛出异常时不会导致整个定时服务停止仅影响当前任务线程。通过Future或自定义的RejectedExecutionHandler可以更好地处理异常情况。缺点 资源管理虽然线程池提供了灵活性但其配置如核心线程数、最大线程数、队列容量等需要根据任务特性和系统资源仔细调优否则可能导致资源浪费或任务积压。复杂度相比TimerScheduledExecutorService的使用和配置相对复杂特别是对于初学者或简单应用场景可能需要更多学习成本。没有内置的corn表达式支持ScheduledExecutorService不直接支持复杂的cron表达式来定义执行时间需要自行实现或借助外部库来实现更复杂的定时逻辑。3. SpringBoot自带的定时任务 优点 易用性使用极其简单只需在配置类上添加EnableScheduling然后在需要定时执行的方法上加上Scheduled注解配置相应的执行策略即可。集成度高作为Spring Boot的一部分定时任务能够自然地与Spring的依赖注入、事务管理等特性集成便于在任务中使用Spring管理的Bean。灵活支持cron表达式、固定延迟、固定速率等多种执行策略满足大多数定时任务需求。同时可以在运行时动态调整任务的执行计划。缺点 资源管理Spring Boot的定时任务默认使用的是单线程执行器这意味着所有定时任务是串行执行的。如果任务执行时间较长或者任务数量较多可能会相互阻塞影响执行效率。虽然可以通过自定义TaskScheduler来使用线程池但这需要额外的配置。并发控制缺乏对高并发场景的原生支持需要开发者手动配置线程池或使用其他并发工具来提高并发处理能力。功能局限对于非常复杂的定时任务调度逻辑如依赖调度、分布式调度等Spring Boot自带的定时任务功能可能显得力不从心这时可能需要集成更专业的任务调度框架如Quartz或使用Spring Cloud Task。4.分布式调度Quartz 优点 调度功能强大Quartz支持灵活的时间触发规则包括cron-like表达式可以满足各种复杂调度需求。同时支持一次性任务、重复任务及按需触发任务。分布式支持通过JobStore如JobStoreTX和集群配置Quartz可以实现任务的分布式调度和执行保证高可用性。在集群环境中任务调度信息存储在共享数据库中各节点之间能协调作业执行避免重复执行。高度可配置与扩展Quartz提供了丰富的配置选项可以根据应用需求定制调度策略。同时Quartz的设计鼓励扩展允许开发者自定义Job、Trigger和JobStore等组件以适应特定场景。缺点 复杂相对于简单的定时任务解决方案如Spring的ScheduledQuartz的配置和使用相对复杂特别是涉及到分布式部署和高级特性时需要深入理解其内部机制和配置细节。资源消耗由于Quartz支持的功能丰富其运行时会占用一定的系统资源包括内存和数据库连接。在大规模任务调度场景下资源管理成为重要考量。学习难度大对于新手来说Quartz的学习曲线较陡峭特别是如何配置和管理分布式调度环境需要花费一定时间去掌握。5.分布式调度xxl-job 优点 易用性高XXL-Job提供了友好的Web界面使得任务的增删改查、执行状态监控变得直观易操作降低了使用门槛。同时通过简单的API或注解就可以实现任务的开发和接入。分布式支持XXL-Job天然支持分布式部署任务调度器Admin与执行器Executor分离执行器可以部署在多台机器上实现了任务的分布式执行和高可用。灵活性强支持Cron表达式、调度中心主动调用、API调用等多种触发方式满足不同场景的定时任务需求。同时任务类型多样包括HTTP任务、Shell任务、Java任务等。监控与告警提供详细的执行日志、失败重试、阻塞处理、邮件告警等功能便于运维和故障排查确保任务的稳定执行。缺点 社区相对较小相比于Quartz等成熟框架XXL-Job的社区和资料相对较少遇到一些特殊问题时可能需要深入阅读源码或自行解决。功能深度有限虽然XXL-Job覆盖了大部分基础定时任务需求但在某些高级功能上如复杂工作流编排、大数据量任务的高效处理等方面可能不如一些商业化调度工具完善。依赖关系XXL-Job的执行器需要依赖Spring环境对于非Spring应用的集成可能会有一定难度。此外调度器和执行器之间的通信依赖于数据库或Redis对这些中间件有一定的依赖。通过以上的定时调度的介绍我们最终选择xxx-job来实现以上功能。 Xxl-job介绍 官网地址分布式任务调度平台XXL-JOB (xuxueli.com) 设计思想 将调度行为抽象形成“调度中心”公共平台而平台自身并不承担业务逻辑“调度中心”负责发起调度请求。 将任务抽象成分散的JobHandler交由“执行器”统一管理“执行器”负责接收调度请求并执行对应的JobHandler中业务逻辑。 因此“调度”和“任务”两部分可以相互解耦提高系统整体稳定性和扩展性 系统组成 调度中心 负责管理调度信息按照调度配置发出调度请求自身不承担业务代码。调度系统与任务解耦提高了系统可用性和稳定性同时调度系统性能不再受限于任务模块支持可视化、简单且动态的管理调度信息包括任务新建更新删除GLUE开发和任务报警等执行器 负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作开发和维护更加简单和高效接收“调度中心”的执行请求、终止请求和日志请求等。以下是Xxl-job的架构图 Xxl-job的特性 调度中心HA中心式调度采用了中心式进行设计“调度中心”支持集群部署可保证调度中心HA执行器HA分布式任务分布式的执行任务执行器支持集群部署可保证任务执行HA触发策略有Cron触发、固定间隔触发、固定延时触发、API事件触发、人工触发、父子任务触发路由策略执行器在集群部署的时候提供了丰富的路由策略如第一个、最后一个、轮询、随机、一致性HASH、最不经常使用LFU、最久未使用LRU、故障转移等等故障转移如果执行器集群的一台机器发生故障会自动切换到一台正常的执行器发送任务调度Rolling实时日志的监控支持rolling方式查看输入的完整执行日志脚本任务支持GLUE模式开发和运行脚本任务包括Shell、python、node.js、php等等类型脚本Xxl-job项目目录介绍 docxxl-job的文档资料包括了数据库的脚本xxl-job-core公共jar包依赖xxl-job-admin调度中心项目源码是Springboot项目可以直接启动xxl-job-executor-samples执行器是Sample实例项目里面的Springboot工程可以直接启动也可以在该项目的基础上进行开发也可以将现有的项目改造成为执行器项目数据库介绍doc/db目录下 xxl_job_group执行器信息表用于维护任务执行器的信息xxl_job_info调度扩展信息表主要是用于保存xxl-job的调度任务的扩展信息比如说像任务分组、任务名、机器的地址等等xxl_job_lock任务调度锁表xxl_job_log日志表主要是用在保存xxl-job任务调度历史信息像调度结果、执行结果、调度入参等等xxl_job_log_report日志报表会存储xxl-job任务调度的日志报表会在调度中心里的报表功能里使用到xxl_job_logglue任务的GLUE日志用于保存GLUE日志的更新历史变化支持GLUE版本的回溯功能xxl_job_registry执行器的注册表用在维护在线的执行器与调度中心的地址信息xxl_job_user系统的用户表Xxl-job UI界面介绍 任务报表 任务数量能够看到调度中心运行的任务数量 调度次数调度中心所触发的调度次数 执行器数量在整个调度中心中在线的执行器数量有多少 任务管理 基础配置- 执行器任务的绑定的执行器任务触发调度时将会自动发现注册成功的执行器, 实现任务自动发现功能; 另一方面也可以方便的进行任务分组。每个任务必须绑定一个执行器, 可在 执行器管理 进行设置;- 任务描述任务的描述信息便于任务管理- 负责人任务的负责人- 报警邮件任务调度失败时邮件通知的邮箱地址支持配置多邮箱地址配置多个邮箱地址时用逗号分隔 触发配置- 调度类型无该类型不会主动触发调度CRON该类型将会通过CRON触发任务调度固定速度该类型将会以固定速度触发任务调度按照固定的间隔时间周期性触发固定延迟该类型将会以固定延迟触发任务调度按照固定的延迟时间从上次调度结束后开始计算延迟时间到达延迟时间后触发下次调度- CRON触发任务执行的Cron表达式- 固定速度固定速度的时间间隔单位为秒- 固定延迟固定延迟的时间间隔单位为秒 任务配置- 运行模式BEAN模式任务以JobHandler方式维护在执行器端需要结合 JobHandler 属性匹配执行器中任务GLUE模式(Java)任务以源码方式维护在调度中心该模式的任务实际上是一段继承自IJobHandler的Java类代码并 groovy 源码方式维护它在执行器项目中运行可使用Resource/Autowire注入执行器里中的其他服务GLUE模式(Shell)任务以源码方式维护在调度中心该模式的任务实际上是一段 shell 脚本GLUE模式(Python)任务以源码方式维护在调度中心该模式的任务实际上是一段 python 脚本GLUE模式(PHP)任务以源码方式维护在调度中心该模式的任务实际上是一段 php 脚本GLUE模式(NodeJS)任务以源码方式维护在调度中心该模式的任务实际上是一段 nodejs 脚本GLUE模式(PowerShell)任务以源码方式维护在调度中心该模式的任务实际上是一段 PowerShell 脚本- JobHandler运行模式为 BEAN模式 时生效对应执行器中新开发的JobHandler类“JobHandler”注解自定义的value值- 执行参数任务执行所需的参数 高级配置- 路由策略当执行器集群部署时提供丰富的路由策略包括FIRST第一个固定选择第一个机器LAST最后一个固定选择最后一个机器ROUND轮询RANDOM随机随机选择在线的机器CONSISTENT_HASH一致性HASH每个任务按照Hash算法固定选择某一台机器且所有任务均匀散列在不同机器上。LEAST_FREQUENTLY_USED最不经常使用使用频率最低的机器优先被选举LEAST_RECENTLY_USED最近最久未使用最久未使用的机器优先被选举FAILOVER故障转移按照顺序依次进行心跳检测第一个心跳检测成功的机器选定为目标执行器并发起调度BUSYOVER忙碌转移按照顺序依次进行空闲检测第一个空闲检测成功的机器选定为目标执行器并发起调度SHARDING_BROADCAST(分片广播)广播触发对应集群中所有机器执行一次任务同时系统自动传递分片参数可根据分片参数开发分片任务- 子任务每个任务都拥有一个唯一的任务ID(任务ID可以从任务列表获取)当本任务执行结束并且执行成功时将会触发子任务ID所对应的任务的一次主动调度。- 调度过期策略- 忽略调度过期后忽略过期的任务从当前时间开始重新计算下次触发时间- 立即执行一次调度过期后立即执行一次并从当前时间开始重新计算下次触发时间- 阻塞处理策略调度过于密集执行器来不及处理时的处理策略单机串行默认调度请求进入单机执行器后调度请求进入FIFO队列并以串行方式运行丢弃后续调度调度请求进入单机执行器后发现执行器存在运行的调度任务本次请求将会被丢弃并标记为失败覆盖之前调度调度请求进入单机执行器后发现执行器存在运行的调度任务将会终止运行中的调度任务并清空队列然后运行本地调度任务- 任务超时时间支持自定义任务超时时间任务运行超时将会主动中断任务- 失败重试次数支持自定义任务失败重试次数当任务失败时将会按照预设的失败重试次数主动进行重试调度日志 可以根据条件筛选执行器具体执行的日志记录例如调度机器触发类型路由策略等。 执行器管理 这里是配置执行器等待执行器启动的时候都会被调度中心监听加入到地址列表AppName要与我们项目配置的appName一致不然服务注册不上去。 用户管理 就是对用的操作默认账户是admin/123456,后续如果添加账户都可以在这里进行添加。 经过对比分析各种定时任务解决方案XXL-Job凭借其易用性、分布式支持、灵活性以及强大的监控管理能力成为满足此需求的理想选择。XXL-Job不仅能够通过其分布式架构确保任务的高效并行执行减少单点故障而且其友好的Web界面极大简化了任务的管理和监控使得运维工作更加直观高效。通过集成XXL-Job我们可以快速构建起一个既能够应对短时间高并发需求又便于维护和扩展的分布式短信发送系统从而确保营销活动的顺利进行提升用户体验同时也为未来的业务扩展和技术迭代打下坚实的基础。总之XXL-Job以其全面的功能集和轻量级设计为应对大规模数据处理和定时任务调度提供了强有力的支撑是构建高效、可靠分布式系统的得力助手。 更多内容请关注微信公众号
http://www.zqtcl.cn/news/117687/

相关文章:

  • 微信制作网站设计重庆关键词优化软件
  • 网站的设计与应用论文平台推广计划书模板范文
  • 网站备案用户名忘了怎么办网站做301排名会掉
  • 厦门制作网站企业网站子域名怎么做
  • 青岛微网站开发品牌建设青之见
  • 淄博哪有培训做网站的湖南营销型网站建设企业
  • 动物网站建设深圳最好的营销网站建设公司
  • 各种网站制作陕西建设厅证件查询网站
  • 如何提高一个网站如何做简单网站
  • 游戏网站开发找什么人可建智慧园区设计方案
  • 重庆网站设计公司推荐福州移动网站建设
  • 移动网站功能做网站fjfzwl
  • 食品网站建设的目的中级经济师考试成绩查询
  • 普宁建设局网站免费的网站开发平台
  • 网站域名主机空间区别网站上传系统
  • 建设高端网站公司的目的淮南房产网
  • 网站建设 中山网站建设新得体会
  • 快速搭建网站视频教程看想看的做想做的电影网站好
  • 网站聊天怎么做2345网址导航智能主版
  • 如何优化网站加载速度做推广公司
  • 网站下载不了视频php网站 数据库链接
  • 制作网页网站教程wordpress建立扁平化
  • 网站建设小知识郑州网站建设找伟置
  • 苏中建设官方网站旅游做攻略用什么网站好
  • 信息门户网站制作wordpress改商城
  • 企业类网站有哪些甘肃省和住房建设厅网站
  • 嘉兴市住房和城乡建设局网站wordpress nodejs版本
  • 做网站 百度推广深圳外贸招聘
  • 网站留言板功能网站建设 核对流程
  • WordPress输出当前网址郑州官网seo厂家