登陆 | 注册 设为首页 | 加入收藏 | 联系我们
太和养老网
热词老年艺术  助老机构  养老系统  

中心区域北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 香港 澳门 台湾 全国城市养老院目录 全国县市养老院汇总目录 太和AI作品展 太和养老艺术网AI作品展示

delegated(Java架构师之路-如何去实现一个分布式定时任务

 

2023/7/7 8:36:55 ('互联网')

本文目录

Java架构师之路-如何去实现一个分布式定时任务

虽说有现成的框架可以实现,不过还是一步一步地说一下思路。

需求

为方便大家的理解,先给大家讲一个真实的需求,这是我在第二家公司的一个项目,定时任务每天凌晨执行,需求很简单:把原始的业务数据,加工处理成待发送的短信。

原始数据:姓名-小明,所在地-北京,电话-13800000000,账单最后还款日期-2018年4月30日。

加工后的数据是:亲爱的小明,您的账单最后还款日期为2018年4月30日,请提前缴费。然后把需要把这条短信发送到13800000000这个手机号上。

定时任务

定时任务框架里面,最有名的就是quartz了,相信大部分Java程序员都用过。

我们项目最开始也用的是quartz,只有一个服务器跑定时任务。但是待处理的数据越来越多,定时服务执行的时间也越来越长,终于有一天,定时任务从晚上跑到了第二天白天也没有跑完,耽误了短信的发送。

改造后的定时任务

有人就有疑问了,能不能直接把定时服务部署多套不就行了。但是部署多套quartz的话,就会出现问题:待处理的任务有可能会被重复执行。

应对这种问题,我们当时有两种处理方案:

方案一:定时服务只部署一套,但是定时任务的工作只是提取待处理的任务。

实际的业务处理服务集群化部署,然后由定式服务提取数据后,发送给业务处理服务器进行实际的处理。

方案二:这个是我当时自己想出的一个奇葩的方法,不过这个方案想明白了,对分布式定式服务的理解很有帮助!

  • 定时任务程序部署多套,并且多套环境都是独立的IP。每套程序定时将IP写入到数据中(一分钟对表update一次,并更新时间戳)。
  • 多套服务选举出一台主服务器。
  • 主服务器把所有的待处理任务,尽可能平均分配给每一台服务器。(IP和待处理任务对应上,也就是每一条待处理任务只能让分配的IP处理)
  • 处理任务的时候,只处理自己IP对应的任务。
  • 一台服务器挂了,主服务器负责把它的IP从数据库中抹掉(三分钟没有对表进行更新的IP,删除掉),并重新分配这个IP对应的待处理任务。
  • 主服务器挂了,重新选举出主服务器。

分布式定时任务框架

我只用过Elastic-job,所以只给大家介绍一下这个框架。

任务分片:把一个任务拆分成几个独立的任务,然后由分布式服务器分别执行一个或者多个子任务。比如还是上面那个需求,那么可以按照【所在地】拆分任务,北京的待处理数据是一个子任务,天津的待处理数据是第二个子任务。

Elastic-Job并不直接提供数据处理的功能,实际的数据处理还是需要自己写,Elastic-Job会将分片任务分配到各个运行中的作业服务器。

其实发现了没有,Elastic-Job做的工作,就是我那个主服务器做的任务分配的工作,把所在地=北京的,分配给服务器1处理,把所在地=天津的,分配给服务器2处理;甚至包括监控每台作业服务器是否存活,挂掉一台重新分配待处理任务,也都是Elastic-Job来做的。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

区块链的共识机制是什么有哪些优缺点

共识机制用通俗的话讲就是制度,在中心化的世界里,不存在制度这一说。因为一家之言可以决定走势。

例如,你用支付宝时候你一定不会怀疑谁在记录每一笔交易。

支付宝就是中心,支付宝负责记账。

可是在去中心的世界里面,怎么用一套制度来管理这些离散的节点呢?

这种管理方式就称之为“共识机制”。

因此就有模仿我们人类社会的管理方式的共识机制。

第一种“按劳分配”就是我们说的POW模式。POW:全称Proof of Work,工作量证明。简单的说就是干的多,拿得多。我们现在挖矿的例如BTC,莱特等都是POW模式的币。算力越高、挖矿时间越长,你获得的货币就越多。优点比较公平,比较去中心化,缺点,所有节点都在工作计算一些没有实际意义的“数学题”,造成资源的浪费。

第二种“股权分配”就是我们说的POS模式。POS全称Proof of Stake,股权证明。简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度。可以简单理解成你把币放银行,一年给你利息,这个利息不是钱,是币。这种优点是减少资源浪费,看似比较公平,谁拥有的多存的时间长利息就多。很少有人质疑银行的分配制度。但是缺点在于,对于区块链,增大后入节点的难度,造成贫富分化“有钱的越来越有钱。”

国内一款山寨币量子币就是pos模式,未来eth也会走向pos。

第三种“人民代表大会制度”并不是每个人直接参与政务管理的竞争,每个人选出自己的代表让代表去管理。这种模式叫DPOS模式。DPOS:Delegated Proof of Stake,委任权益证明。中文名叫做股份授权证明机制(又称受托人机制),它的原理是让每一个持有DPOS币的人进行投票,由此产生N位代表 , 我们可以将其理解为N个超级节点或者矿池,而这N个超级节点彼此的权利是完全相等的。代表就是EOS和波场。优点是节约资源,缺点是不够去中心化,节点太多就是代表太多办事效率就低,节点少,容易作弊控制。失去去中心的优势。

在区块链中,工作量证明机制是必不可少的吗对此你怎么看

工作量证明意味着竞争

其他证明方式意味着其他形式的经济模式

例如股权证明意味着垄断

越复杂的证明方式看似解决问题很厉害,实际上或多或少执行存在经济上的难点

目前看工作量证明是简单普遍接受度高,符合竞争激励的经济模式

像美国这样的资本主义国家,每一届的总统执政方阵、政策都不一样,是如何保持稳定的

美国政府和国民的稳定靠的就是成熟的法律、三权鼎立的相互制衡制度,强大的军事力量以及丰厚的国民福利。

为什么美国各个州的法律不统一

谢邀。我简要说一下,有时间再更新。从建国史上来说,北美主权所有是根据当时欧洲各国奉行的神学契约原则所获得的,即任何基督教王室,只要发现了为所谓异教徒和野蛮人占领的土地,即有权宣布对其拥有主权。建国前,除了少数地盘是由英国动用国家力量争夺过来(比如争夺新阿姆斯特丹,也就是纽约),其余的本来就是私人财团经营殖民地,比如弗吉尼亚州就是弗吉尼亚公司经营。而州以下的社会基础结构,更是由移民前来,进行自组织,通过公共议事原则,根据本地地理条件,搞定定居点的建设,权力分配,公共事务决策,以及产业集合等等事务。用埃德蒙伯克的定义,美国的社会基本结构就是“自组织体”,独立战争更是被这位保守主义者定义成了维护自组织体的战争,以反抗宗主国税法和驻军。而独立战争的决策机构---大陆会议,从历史唯物论来说,本质上是自组织体代表--业主(Proprietary)阶级代表组成的决策机构,号召各自组织体联合起来,面对共同的敌人,由于同文同种和地理相近,开始形成一个短暂的共同体。而独立战争后,联邦初期,建立而来更多是作为一个代表机构来处理一些公共事务,此时更多还是邦联的状态。而在美国宪法之前的费城会议上,Patrick Henry为首的反联邦党人和联邦党人吵得不可开交(主要攻击对象就是汉密尔顿(他得到威高望重的华盛顿和来自弗吉尼亚州的



扫码加微信详细咨询太和智慧养老产品和平台服务!

 

 





版权声明:

---------------------------------------------------------------


所有信息来源于互联网,本文的版权归原作者所有,不代表本网观点和立场。

本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 81480447@qq.com 举报,一经查实,本站将立刻删除。



扫码加微信详细咨询太和智慧养老产品和平台服务!

 

养老资讯
助老机构介绍
评论
已有 0 条评论

最新评论

推荐养老院

您希望养老院位于
  • 不限
  • 东城
  • 西城
  • 崇文
  • 宣武
  • 朝阳
  • 丰台
  • 石景山
  • 海淀
  • 门头沟
  • 房山
  • 通州
  • 顺义
  • 昌平
  • 大兴
  • 怀柔
  • 平谷
  • 延庆
  • 密云
您希望的价格范围
  • 不限
  • 500以下
  • 500-1000
  • 1000-2000
  • 2000-3000
  • 3000-5000
  • 5000以上
老人的情况是
  • 不限
  • 自理
  • 半自理
  • 全护理
  • 特护

姓名

年龄

电话

全国城市养老院



关于我们 | 联系方式 | 网站地图 | 友情链接

Copyright 2010-2022 京ICP备18035644号-3 北京太和 版权所有