Spring boot starter

本文探讨了Spring Boot Starter的原理及其在项目中的应用,通过引入pom文件和配置spring.factories实现自动管理和配置。同时,分享了如何在项目中模仿Spring Boot Starter机制来管理中间件依赖。此外,文章还介绍了基于Zookeeper的分布式调度实现,包括利用其领导选举算法,以及在分布式任务服务中创建和选择领导者节点进行任务调度的详细过程。

1:Spring boot starter及项目中的类似运用

1:Spring boot starter的两种方式

  1. 引入pom文件,自动管理jar版本
  2. 根据spring.factories配置文件,加载config的各种bean

spring boot约定大于配置理念在这里有体现。

2:项目中用到的类似spring boot starter的机制
各种中间件,统一使用common包引入,需要使用哪个中间件,就在springboot启动类上@import一下对应的configuration文件(此文件里去定义各种bean,也可以使用注解@Value("${redis.timeout}")引入配置)。
不需要的中间件,不引入configuration文件即可。
很好的实现了依赖管理。

2:基于zookeeper的分布式调度

用到了zookeeper的leader选举算法

2.1 分布式任务服务(sts)启动时,创建永久性的业务根节点,然后创建临时的,自增的节点

/**
    * The znode will not be automatically deleted upon client's disconnect,
    * and its name will be appended with a monotonically increasing number.
    */
    PERSISTENT_SEQUENTIAL (2, false, true),

2.2 任务调度时,获取业务根节点下的所有子节点,排序看是否是最小的节点(默认为leader)
2.3 如果是,则进行调度(根据任务配置,反射调用),否则返回(只有leader有权限进行调度)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值