1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        LogiCommonJava 通用功能組件

        聯(lián)合創(chuàng)作 · 2023-10-01 07:19

        LogiCommon 是滴滴開源的 Java 版本的認(rèn)證、鑒權(quán)、管理、任務(wù)調(diào)度通用功能組件和公共模塊,包括 Logi-security、Logi-job。

        LogiCommon 會(huì)盡量保持與具體業(yè)務(wù)的解耦,以簡(jiǎn)單易用,輕量高效,盡可能減少用戶感知的方式做到多平臺(tái)適配,同時(shí)提供可擴(kuò)展的接口,讓用戶自由擴(kuò)展 LogiCommon 的功能,以滿足具體的業(yè)務(wù)。

        • Logi-security 主要提供基礎(chǔ)功能服務(wù),主要分為認(rèn)證、鑒權(quán)、管理三部分功能。其中認(rèn)證包括了登錄、注冊(cè)、注銷等功能;鑒權(quán)包括了確定用戶的界面權(quán)限、資源權(quán)限的功能;管理包括了用戶、項(xiàng)目、角色、部門的基本操作的功能和操作日志、消息通知的調(diào)控功能;
        • Logi-job 是分布式的定時(shí)調(diào)度服務(wù)

        1.logi-security

        1.1 介紹

        logi-security 提供項(xiàng)目大多都需要基礎(chǔ)的一些功能(用戶、角色、權(quán)限、登錄、注冊(cè)、操作記錄),這些功能開發(fā)簡(jiǎn)單但是開發(fā)起來又比較繁瑣和有一定的工作量(開發(fā)、測(cè)試、聯(lián)調(diào)、編寫接口文檔等等),所以打算把這類的功能抽取出來,整合進(jìn) Logi-security,讓這些項(xiàng)目開發(fā)人員更加專注于核心功能,避免時(shí)間花費(fèi)在繁瑣的基礎(chǔ)功能的開發(fā)。

        1.2 功能支持

        主要提供:用戶、項(xiàng)目、角色、部門、界面權(quán)限、資源權(quán)限、操作日志、消息通知

        • 用戶模塊:提供了注冊(cè)、登錄、認(rèn)證功能,以及用戶信息的展示等基礎(chǔ)功能;
        • 項(xiàng)目模塊:提供了創(chuàng)建、刪除、展示、更改運(yùn)行狀態(tài)等功能;
        • 部門模塊:提供了部門信息導(dǎo)入、部門樹形結(jié)構(gòu)展示等功能;
        • 界面權(quán)限模塊:提供界面權(quán)限信息的導(dǎo)入、界面功能展示控制等功能;
        • 資源權(quán)限模塊:提供對(duì)項(xiàng)目具體資源的權(quán)限管理;
        • 操作日志模塊:記錄用戶的操作記錄,展示記錄;
        • 消息通知模塊:用戶擁有的角色、擁有的資源權(quán)限變更等通知。

        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框架開發(fā),需添加以下配置信息:

        logi.security.app-name: ES
        logi.security.resource-extend-bean-name: myResourceExtendImpl
        
        # ---------------數(shù)據(jù)源信息---------------
        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:表示應(yīng)用的名稱,涉及到 logi-security 的數(shù)據(jù)庫操作都會(huì)帶上這個(gè)條件(查詢、保存等操作);
        • resource-extend-bean-name:resourceExtend的實(shí)現(xiàn)類在spring容器bean的名稱,logi-security 中資源權(quán)限管理模塊,需要獲取具體資源的信息,所以用戶需實(shí)現(xiàn) ResourceExtend 接口并指定實(shí)現(xiàn)類在spring容器中bean的名稱;

        1.3.3 需要實(shí)現(xiàn)接口

        用戶可選的實(shí)現(xiàn) ResourceExtend 接口,如果不實(shí)現(xiàn),則資源權(quán)限管理模塊的功能不能完整使用。接口詳情見代碼

        1.3.4 導(dǎo)入數(shù)據(jù)

        logi-security相關(guān)界面并沒提供【角色權(quán)限元數(shù)據(jù)、資源類別數(shù)據(jù)、部門信息數(shù)據(jù)、操作日志相關(guān)(操作頁面、操作對(duì)象、對(duì)象分類)】的創(chuàng)建功能,logi-security提供了數(shù)據(jù)導(dǎo)入的接口。 建議全部都導(dǎo)入,簡(jiǎn)單的數(shù)據(jù)也行。

        2.logi-job

        2.1 介紹

        是分布式的定時(shí)調(diào)度服務(wù)。

        2.2 功能支持

        主要提供:分布式定時(shí)調(diào)度服務(wù)、任務(wù)管理、分布式鎖等功能

        • 分布式定時(shí)調(diào)度服務(wù):添加指定注解,并實(shí)現(xiàn)規(guī)定的接口,編寫待調(diào)度的方法;
        • 任務(wù)管理模塊:提供查看任務(wù)列表、任務(wù)詳情、手動(dòng)執(zhí)行任務(wù)、變更任務(wù)狀態(tài)、任務(wù)日志等功能;
        • 分布式鎖機(jī)制:確保多系統(tǒng)下,對(duì)于臨界資源的保護(hù),和調(diào)節(jié)調(diào)度秩序,防餓死。

        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框架開發(fā),在使用的時(shí)候需要在配置文件中增加幾項(xiàng)配置信息,如下:

        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 #調(diào)度最大線程數(shù)
            log-exipre: 3  #日志保存天數(shù),以天為單位
            app_name: arius_test02 #應(yīng)用名,用戶隔離機(jī)器和環(huán)境
            claim-strategy: com.didiglobal.logi.job.core.consensual.RandomConsensual #調(diào)度策略,有兩種隨機(jī)和廣播,默認(rèn)是隨機(jī)

        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調(diào)度任務(wù)", 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封裝的組件,為用戶提供日志相關(guān)功能。各個(gè)業(yè)務(wù)可以選擇log4j,logback,log4j2,只要配置上橋接就可以使用。

        瀏覽 34
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产最爽的乱淫视频国语对白1 | 骚逼一级片 | 欧美逼逼网 | 国产成人在线免费观看 | 做爱视频在线观看网站免费观看 | 大香蕉999 | 欧美性爱乱伦 | 四虎永久在线观看 | 欧美黄色免费网站 | 亚洲AV秘 无码一区浜崎りお |