ZLT-MP v4.4.0 发布

2021-04-14 10:23:34 浏览数 (1)

架构图

功能介绍

更新内容

特性/增强

  • 新增工程zlt-oss-spring-boot-starter
  • 新增工程zlt-zookeeper-spring-boot-starter
  • 新增Zookeeper分布式锁
  • 优化日志埋点工具类
  • 升级zlt-register/nacos到2.0.0

内容说明

一、新增工程oss-starter

既支持各种 「S3」 协议的对象存储如 阿里云OSS七牛云OSSMinIO 等,同时也支持阿里的 FastDFS

配置S3:

代码语言:javascript复制
zlt:
  file-server:
    type: s3
    s3:
      access-key: ${zlt.s3.access-key}
      accessKeySecret: ${zlt.s3.accessKeySecret}
      endpoint: ${zlt.s3.endpoint}
      bucketName: ${zlt.s3.bucketName}

使用S3

代码语言:javascript复制
@Resource
private S3Template s3Template;

s3Template.upload(...);

配置FastDFS:

代码语言:javascript复制
zlt:
  file-server:
    type: fastdfs
    fdfs:
      web-url: ${zlt.fdfs.web-url}
      
fdfs:
  trackerList: ${zlt.fdfs.trackerList}

使用FastDFS

代码语言:javascript复制
@Resource
private FdfsTemplate fdfsTemplate;

fdfsTemplate.upload(...);

二、新增工程zookeeper-starter

集成 curator 客户端

配置:

代码语言:javascript复制
zlt:
  zookeeper:
    connectString: 127.0.0.1:2181

三、新增zookeeper分布式锁

依赖:

代码语言:javascript复制
<dependency>
    <groupId>com.zlt</groupId>
    <artifactId>zlt-zookeeper-spring-boot-starter</artifactId>
</dependency>

配置:

代码语言:javascript复制
zlt:
  lock:
    lockerType: ZK

手动加锁:

代码语言:javascript复制
//lock
try (
        ZLock lock = locker.lock("test");
        ) {
    //......业务逻辑
}

//tryLock
try (
        ZLock lock = locker.tryLock("test", 10, TimeUnit.SECONDS);
        ) {
    if (lock != null) {
        //......业务逻辑
    }
}

注解加锁:

代码语言:javascript复制
/**
 * 等同于 locker.lock("test")
 */
@Lock(key = "test")
public void test() {}

/**
 * 等同于 locker.tryLock("test", 10, TimeUnit.SECONDS)
 */
@Lock(key = "test", waitTime = 10)
public void test2() {}

四、优化日志埋点工具类

埋点工具类 PointUtil 新增 「builder」 模式,如下代码所示:

代码语言:javascript复制
Map properties = new HashMap(2);
properties.put("key1", "value1");
properties.put("key2", "value2");

PointUtil.builder()
        .id(1)
        .type("test")
        .properties(properties)
        .build();

输出日志:2021-04-03 23:18:19.112|user-center|1|test|key1=value1&key2=value2

五、升级zlt-register到2.0.0

zlt-register/nacos 替换为官方最新的 2.0.0 版本

内容与官网一致,只是方便大家直接使用

项目地址

Gitee地址:https://gitee.com/zlt2000/microservices-platform

Github地址:https://github.com/zlt2000/microservices-platform

项目文档

https://www.kancloud.cn/zlt2000/microservices-platform/919417

项目更新日志

https://www.kancloud.cn/zlt2000/microservices-platform/936235

0 人点赞