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

个人网站模板怎么做上海网站快速排名

个人网站模板怎么做,上海网站快速排名,网站建设服务费账务处理,网站被很多公司抄袭Glue模式 任务以源码的形式去维护调度中心,支持实时编译,无需指定JobHandler。 实际上是继承自JobHandler的java类代码,在执行器中运行,可以使用Resource/Autowire注入执行器里中的其他服务. 在执行器中添加service Service p…

Glue模式

任务以源码的形式去维护调度中心,支持实时编译,无需指定JobHandler。

实际上是继承自JobHandler的java类代码,在执行器中运行,可以使用@Resource/@Autowire注入执行器里中的其他服务.

在执行器中添加service

@Service
public class HelloService {public void methodA(){System.out.println("执行MethodA的方法");}public void methodB(){System.out.println("执行MethodB的方法");}
}

在 调度中心添加Gule任务,在gule idea中添加代码

package com.xxl.job.service.handler;import cn.wolfcode.xxljobdemo.service.HelloService;
import com.xxl.job.core.handler.IJobHandler;
import org.springframework.beans.factory.annotation.Autowired;public class DemoGlueJobHandler extends IJobHandler {@Autowiredprivate HelloService helloService;@Overridepublic void execute() throws Exception {helloService.methodA();}
}

启动任务即可。

集群

启动两个springboot项目,修改tomcat端口号和执行器端口号

-Dserver.port=8093 -Dxxl.job.executor.port=9993

-Dserver.port=8094 -Dxxl.job.executor.port=9994

将调度中心的任务修改为轮询路由

调度路由

  1. FIRST(第一个):固定选择第一个机器

  2. LAST(最后一个):固定选择最后一个机器;

  3. ROUND(轮询):依次的选择在线的机器发起调度

  4. RANDOM(随机):随机选择在线的机器;

  5. CONSISTENT_HASH(一致性HASH):

    每个任务按照Hash算法固定选择某一台机器,且所有任务均匀散列在不同机器上。

  6. LEAST_FREQUENTLY_USED(最不经常使用):使用频率最低的机器优先被选举;

  7. LEAST_RECENTLY_USED(最近最久未使用):最久未使用的机器优先被选举;

  8. FAILOVER(故障转移):按照顺序依次进行心跳检测,第一个心跳检测成功的机器选定为目标执行器并发起调度;

  9. BUSYOVER(忙碌转移):按照顺序依次进行空闲检测,第一个空闲检测成功的机器选定为目标执行器并发起调度;

  10. SHARDING_BROADCAST(分片广播):

    广播触发对应集群中所有机器执行一次任务,同时系统自动传递分片参数;可根据分片参数开发分片任务;

分片广播

xxl-job调度中心发出一次调度,所有相关节点全部执行一次。

如果使用传统的轮询调度,只会将所有的请求由一个结点承担,效率低。

而分片广播的优点:

1.将所有请求分配个各个结点,由每个结点承担,具体分片策略由逻辑代码决定,调度中心知识让所有的结点执行。

2.XXL-JOB为每个注册结点分配一个index,同样XXL-JOB会记录结点总数

int shardIndex = XxlJobHelper.getShardIndex();结点数
int shardTotal = XxlJobHelper.getShardTotal();结点总数

案例:

1.添加依赖

<!--MyBatis驱动-->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.2.0</version>
</dependency>
<!--mysql驱动-->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok依赖-->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope>
</dependency>
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version>
</dependency>

 2.  添加配置

spring.datasource.url=jdbc:mysql://localhost:3306/xxl_job_demo?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.username=root
spring.datasource.password=WolfCode_2017

3.添加实体类

@Setter@Getter
public class UserMobilePlan {private Long id;//主键private String username;//用户名private String nickname;//昵称private String phone;//手机号码private String info;//备注
}

4.添加mapper处理

@Mapper
public interface UserMobilePlanMapper {@Select("select * from t_user_mobile_plan where mod(id,#{shardingTotal})=#{shardingIndex}")List<UserMobilePlan> selectByMod(@Param("shardingIndex") Integer shardingIndex,@Param("shardingTotal")Integer shardingTotal);@Select("select * from t_user_mobile_plan")List<UserMobilePlan> selectAll();
}

将id和分片索引总数取余

@XxlJob("sendMsgShardingHandler")
public void sendMsgShardingHandler() throws Exception{System.out.println("任务开始时间:"+new Date());int shardTotal = XxlJobHelper.getShardTotal();int shardIndex = XxlJobHelper.getShardIndex();List<UserMobilePlan> userMobilePlans = null;if(shardTotal==1){//如果没有分片就直接查询所有数据userMobilePlans = userMobilePlanMapper.selectAll();}else{userMobilePlans = userMobilePlanMapper.selectByMod(shardIndex,shardTotal);}System.out.println("处理任务数量:"+userMobilePlans.size());Long startTime = System.currentTimeMillis();userMobilePlans.forEach(item->{try {TimeUnit.MILLISECONDS.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}});System.out.println("任务结束时间:"+new Date());System.out.println("任务耗时:"+(System.currentTimeMillis()-startTime)+"毫秒");
}

http://www.yayakq.cn/news/33827/

相关文章:

  • 中国室内设计联盟网站wordpress防破解
  • 建设网站增城江苏省网站备案查询
  • wordpress网站搭建教程跨国网站
  • 建设工程查询扣分网站云点wordpress
  • 贺卡制作网站emlog怎么换wordpress
  • 惠州建设银行行号查询网站做的好的h游戏下载网站
  • 网站名称不能涉及网站功能模块是什么
  • wap网站制作教程俄罗斯引擎搜索
  • 建设网站后需要什么知识搜索引擎优化的内容包括
  • 网站建设专业的公司手机在线app下载
  • 镇江网站建设优化制作公司asp简单的网站怎么做
  • 网站建设案例新闻北京专业快速建站制作
  • 网站设计风格介绍建站公司用的服务器
  • 侨联网站建设广告咨询
  • 站酷网官网进入天眼查企业查询app
  • 如何注册网站平台资料网站怎么做
  • 怎么做导购网站网页设计培训心得
  • 贵阳手机网站建设费用wap网站开发自适应手机屏幕开源包
  • 广州新塘网站建设推广公司北京网站改版有什么用
  • 网站建设数据库的选择三个页面的网页作品模板
  • 吉林省城市建设学校网站沈阳网站开发培训多少钱
  • 网站建设帐号wordpress 过滤html
  • 动画型网站淄博网站设计策划方案维护
  • 电子商务网站建设清华大学99元一月做网站
  • 单位网站建设服务北邻京网站茵建设
  • flask做网站工具网站改版的seo注意事项
  • 凡科网站建设平台seo搜索引擎优化教程
  • 番禺建设网站平台上海做网站建设的公司
  • 网站建设ui设计棋牌游戏开发出售
  • 网站设计搜索栏怎么做建设自动弹出qq对话框的网站