LogiCommon —— Java 通用功能组件
LogiCommon 是滴滴开源的 Java 版本的认证、鉴权、管理、任务调度通用功能组件和公共模块,包括 Logi-security、Logi-job。
LogiCommon 会尽量保持与具体业务的解耦,以简单易用,轻量高效,尽可能减少用户感知的方式做到多平台适配,同时提供可扩展的接口,让用户自由扩展 LogiCommon 的功能,以满足具体的业务。
- Logi-security 主要提供基础功能服务,主要分为认证、鉴权、管理三部分功能。其中认证包括了登录、注册、注销等功能;鉴权包括了确定用户的界面权限、资源权限的功能;管理包括了用户、项目、角色、部门的基本操作的功能和操作日志、消息通知的调控功能;
- Logi-job 是分布式的定时调度服务
1.logi-security
1.1 介绍
logi-security 提供项目大多都需要基础的一些功能(用户、角色、权限、登录、注册、操作记录),这些功能开发简单但是开发起来又比较繁琐和有一定的工作量(开发、测试、联调、编写接口文档等等),所以打算把这类的功能抽取出来,整合进 Logi-security,让这些项目开发人员更加专注于核心功能,避免时间花费在繁琐的基础功能的开发。
1.2 功能支持
主要提供:用户、项目、角色、部门、界面权限、资源权限、操作日志、消息通知
- 用户模块:提供了注册、登录、认证功能,以及用户信息的展示等基础功能;
- 项目模块:提供了创建、删除、展示、更改运行状态等功能;
- 部门模块:提供了部门信息导入、部门树形结构展示等功能;
- 界面权限模块:提供界面权限信息的导入、界面功能展示控制等功能;
- 资源权限模块:提供对项目具体资源的权限管理;
- 操作日志模块:记录用户的操作记录,展示记录;
- 消息通知模块:用户拥有的角色、拥有的资源权限变更等通知。
1.3 使用方式
1.3.1 添加Maven
<dependency> <groupId>io.github.zqrferrari</groupId> <artifactId>logi-security-spring-boot-starter</artifactId> <version>1.6.3</version> </dependency>
1.3.2 配置文件
logi-security基于springBoot框架开发,需添加以下配置信息:
logi.security.app-name: ES logi.security.resource-extend-bean-name: myResourceExtendImpl # ---------------数据源信息--------------- logi.security.username=root logi.security.password=123456 logi.security.url=jdbc:mysql://localhost:3306/logi_security?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai logi.security.driver-class-name=com.mysql.jdbc.Driver
- app-name:表示应用的名称,涉及到 logi-security 的数据库操作都会带上这个条件(查询、保存等操作);
- resource-extend-bean-name:resourceExtend的实现类在spring容器bean的名称,logi-security 中资源权限管理模块,需要获取具体资源的信息,所以用户需实现 ResourceExtend 接口并指定实现类在spring容器中bean的名称;
1.3.3 需要实现接口
用户可选的实现 ResourceExtend 接口,如果不实现,则资源权限管理模块的功能不能完整使用。接口详情见代码
1.3.4 导入数据
logi-security相关界面并没提供【角色权限元数据、资源类别数据、部门信息数据、操作日志相关(操作页面、操作对象、对象分类)】的创建功能,logi-security提供了数据导入的接口。 建议全部都导入,简单的数据也行。
2.logi-job
2.1 介绍
是分布式的定时调度服务。
2.2 功能支持
主要提供:分布式定时调度服务、任务管理、分布式锁等功能
- 分布式定时调度服务:添加指定注解,并实现规定的接口,编写待调度的方法;
- 任务管理模块:提供查看任务列表、任务详情、手动执行任务、变更任务状态、任务日志等功能;
- 分布式锁机制:确保多系统下,对于临界资源的保护,和调节调度秩序,防饿死。
2.3 使用方式
2.3.1 添加Maven
<dependency> <groupId>io.github.zqrferrari</groupId> <artifactId>logi-job-spring-boot-starter</artifactId> <version>1.0.10</version> </dependency>
2.3.2 配置信息
logi-job基于springBoot框架开发,在使用的时候需要在配置文件中增加几项配置信息,如下:
spring: logi-job: jdbc-url: jdbc:mysql://localhost:3306/es_manager_test?useUnicode=true&characterEncoding=utf8&jdbcCompliantTruncation=true&allowMultiQueries=true&useSSL=false username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver max-lifetime: 60000 init-sql: true init-thread-num: 10 max-thread-num: 20 #调度最大线程数 log-exipre: 3 #日志保存天数,以天为单位 app_name: arius_test02 #应用名,用户隔离机器和环境 claim-strategy: com.didiglobal.logi.job.core.consensual.RandomConsensual #调度策略,有两种随机和广播,默认是随机
2.3.3 使用样例
package com.didichuxing.datachannel.arius.admin.task.metadata; import com.didichuxing.datachannel.arius.admin.metadata.job.cluster.monitor.esMonitorJob.MonitorJobHandler; import com.didiglobal.logi.job.annotation.Task; import com.didiglobal.logi.job.common.TaskResult; import com.didiglobal.logi.job.core.job.Job; import com.didiglobal.logi.job.core.job.JobContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; // @Task 注解自带了 @Component @Task(name = "esMonitorJob", description = "monitor调度任务", cron = "0 0/1 * * * ? *", autoRegister = true) public class ESMonitorJobTask implements Job { private static final Logger LOGGER = LoggerFactory.getLogger(ESMonitorJobTask.class); @Autowired private MonitorJobHandler monitorJobHandler; @Override public TaskResult execute(JobContext jobContext) throws Exception { LOGGER.info("class=ESMonitorJobTask||method=execute||msg=start"); monitorJobHandler.handleJobTask(""); return TaskResult.SUCCESS; } }
3.logi-log
3.1 介绍
集成了:logi-log-log、logi-log-log4j2。
3.2 添加maven
<dependency> <groupId>io.github.zqrferrari</groupId> <artifactId>logi-log-log</artifactId> <version>1.0.4</version> </dependency>
3.2 logi-log-log
logi-log-log是基于slf4j封装的组件,为用户提供日志相关功能。各个业务可以选择log4j,logback,log4j2,只要配置上桥接就可以使用。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | 证书管理:从手工到平台化
作者:vivo 互联网运维团队- Peng Jiahong 本文介绍了vivo业务运维证书管理从手工到平台化的历程。 一、背景 以往,vivo 互联网业务的域名证书运维管理工作,严重依赖经验丰富的高级运维工程师个人专职管理,证书管理存在单点以及过于依赖的人的情况。 随着业务规模的持续扩大,以及对证书管理质量标准的要求提升,加强全网证书信息准确的收敛把控。 为此,业务运维团队决定,通过证书管理流程标准化、平台化,完成全生命周期管理证书,来消除因依赖人为管理证书问题导致业务可用性受损的痛点。 二、能力规划 全生命周期管理业务证书,我们建设的平台需具备以下特性和能力: 高效的证书申请: 新申请以及续期场景,平台引导用户自动的生成私钥和 CSR 并提交工作申请联络单,用户完成验证后自动存储证书合并私钥。 便捷的证书管理: 支持多种证书格式导入、导出功能,查看完整的证书信息。 安全的私钥存储: 使用 AES256 等 高强度算法加密存储。 证书逾期监控: 支持 30/60 天,可自定义逾期的证书监控告警。 证书变更白屏化: 覆盖 NGINX、 SLB、CDN 以及 VUA 证书变更场景。 三、设...
- 下一篇
1-5 月我国互联网业务收入 5310 亿元,利润总额快速增长
工信部发布了 2023 年 1-5 月份互联网和相关服务业运行情况指出,1-5月份,互联网业务收入小幅增长,利润总额快速增长。 一、总体运行情况 互联网业务收入小幅增长。1—5月份,我国规模以上互联网和相关服务企业(以下简称互联网企业)完成互联网业务收入5310亿元,同比增长2.8%。 利润总额快速增长。1—5月份,我国规模以上互联网企业营业成本同比增长6.3%。实现利润总额576.2亿元,同比增长43%。 研发经费降幅收窄。1—5月份,我国规模以上互联网企业共投入研发经费260.7亿元,同比下降5.9%,降幅较1—4月份收窄2.6个百分点。 二、分领域运行情况 (一)信息服务领域企业收入略显低迷。1—5月份,以信息服务为主的企业(包括新闻资讯、搜索、社交、游戏、音乐视频等)互联网业务收入同比下降1%。 (二)生活服务领域企业收入较快增长。1—5月份,以提供生活服务为主的平台企业(包括本地生活、租车约车、旅游出行、金融服务、汽车、房屋住宅等)互联网业务收入同比增长12.5%。 (三)网络销售领域企业收入保持较高增势。1—5月份,主要提供网络销售服务的企业(包括大宗商品、农副产品、综合电...
相关文章
文章评论
共有0条评论来说两句吧...