最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

流式圖表拒絕增刪改查之框架搭建過程

 更新時間:2023年04月12日 14:58:11   作者:在下uptown  
這篇文章主要為大家介紹了流式圖表拒絕增刪改查之框架搭建過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

作為一名練習(xí)時長兩年半的夾娃工程師,常年浸泡在增刪改查的業(yè)務(wù)代碼里,每當(dāng)金三銀四來臨該迭代自己簡歷的時候,面對自己的項目經(jīng)歷都十分窘迫。突然有天學(xué)弟問我在實(shí)習(xí)公司一直做縫縫補(bǔ)補(bǔ)的工作或者是一些基于封裝好的RBAC(基于角色的權(quán)限管理系統(tǒng))做業(yè)務(wù)的增刪改查,眼下又要找工作了不知道咋寫項目經(jīng)驗。

無論是功能、技術(shù)棧、設(shè)計都平淡無奇,問我咋整,我打開塵封已久的簡歷一看,操,我不也一樣嗎。

當(dāng)時快畢業(yè)那會也是有點(diǎn)焦慮,難的項目看不懂簡單的項目看不上,難受的一批,于是決定自己搞個比較有意思的項目,起碼能用一些新穎的技術(shù)棧,給迷茫的大學(xué)生一點(diǎn)小小的思路。

流式圖表,顧名思義,使用流式數(shù)據(jù)做計算繪做成圖表,上游向流式圖表服務(wù)注冊并寫入數(shù)據(jù),流式圖表服務(wù)建立監(jiān)聽鏈接,監(jiān)聽到數(shù)據(jù)處理并推送給前端,使圖表流動起來。

只是突然萌生了這個想法,代碼只是完成了一半,看能不能做起來,希望能堅持搞完吧。

技術(shù)方案

  • java8 + springboot2.0 + mybatis-plus搭建整體框架
  • mysql業(yè)務(wù)層數(shù)據(jù)庫
  • redis數(shù)據(jù)計算暫存層數(shù)據(jù)庫、模塊間消息通知、分布式鎖
  • kafka流式數(shù)據(jù)組件
  • guava線程池實(shí)現(xiàn)消費(fèi)鏈接管理
  • websocket即時通知前端數(shù)據(jù),使用netty優(yōu)化webservice
  • 支持分布式擴(kuò)展
  • 暫時決定采用拉的模式(主要怕前端數(shù)據(jù)擠壓),前端代碼到時候?qū)懖幌氯ゾ驼胰藥兔?..

不使用flink這種大數(shù)據(jù)引擎是因為對剛畢業(yè)的同學(xué)可能有點(diǎn)吃力,不是我不會,等做完了有時間精力就用flink引擎改造。

數(shù)據(jù)庫設(shè)計

CREATE TABLE `STREAM_CONFIG` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `conf_id` char(100) CHARACTER,
  `name` char(100) CHARACTER NOT NULL DEFAULT '' COMMENT '流式數(shù)據(jù)源名稱',
  `conn_config` text COMMENT '流式數(shù)據(jù)源配置',
  `fields` text COMMENT '流式數(shù)據(jù)源字段信息',
  `is_del` int NOT NULL DEFAULT '0',
  `ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '記錄創(chuàng)建時間',
  `utime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '記錄創(chuàng)建時間',
  `use_count` int DEFAULT NULL,
  UNIQUE KEY `conf_id (`conf_id`) USING BTREE,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `CHART` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `chart_id` char(100) CHARACTER,
  `name` char(100) CHARACTER NOT NULL DEFAULT '' COMMENT '流式圖表名稱',
  `field_id` text COMMENT '流式圖表使用的窗口字段id',
  `is_del` int NOT NULL DEFAULT '0',
  `ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '記錄創(chuàng)建時間',
  `utime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '記錄創(chuàng)建時間',
  `use_count` int DEFAULT NULL,
  UNIQUE KEY `chart_id (`chart_id`) USING BTREE,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

基礎(chǔ)模塊

  • matrix-common 公共依賴、工具類、常量、
  • matrix-core 管理消費(fèi)鏈接、消費(fèi)邏輯
  • matrix-message 服務(wù)間通信組件
  • matrix-socket 推送模塊,負(fù)責(zé)與前端交互
  • matrix-web 數(shù)據(jù)庫增刪改查

寫項目最爽的階段一是剛開始起一個很吊的名字,二是完成時的成就感,先起一個很猛的名字。代開IDEA直接開擼。

用maven搭建一個多模塊項目,parent項目pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <modules>
        <module>matrix-common</module>
        <module>matrix-core</module>
        <module>matrix-web</module>
        <module>matrix-socket</module>
        <module>matrix-message</module>
    </modules>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.4.3</version>
    </parent>
    <groupId>com.uptown</groupId>
    <artifactId>matrix</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
            <scope>compile</scope>
        </dependency>
    </dependencies>
</project>

其他的先不貼了,整的匆忙得調(diào)整到最合理的情況再展示出來,未來連更幾波。

整體流程

最終效果

以上就是流式圖表拒絕增刪改查之框架搭建過程的詳細(xì)內(nèi)容,更多關(guān)于流式圖表框架搭建的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java中Swing會奔跑的線程俠

    java中Swing會奔跑的線程俠

    本文通過代碼示例給大家詳細(xì)講解了java中Swing會奔跑的線程俠這個經(jīng)典的示例,有興趣的朋友學(xué)習(xí)下。
    2018-03-03
  • java的finalize方法解讀

    java的finalize方法解讀

    這篇文章主要介紹了java的finalize方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • spring boot--從controller到DAO操作

    spring boot--從controller到DAO操作

    這篇文章主要介紹了spring boot--從controller到DAO操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java編寫Http服務(wù)器下載工具

    java編寫Http服務(wù)器下載工具

    這篇文章主要介紹了java編寫Http服務(wù)器下載工具的方法,工具很簡單,功能也很簡單,代碼就更簡潔了,卻非常實(shí)用,有需要的小伙伴參考下吧。
    2015-03-03
  • Java接收前端請求體的多種方式總結(jié)

    Java接收前端請求體的多種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于Java接收前端請求體的多種方式,文中通過代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者Java具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-08-08
  • SpringBoot?多環(huán)境打包最佳實(shí)踐記錄

    SpringBoot?多環(huán)境打包最佳實(shí)踐記錄

    SpringBoot通過配置多環(huán)境文件和在打包時指定激活的環(huán)境,實(shí)現(xiàn)多環(huán)境打包與部署,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Java解析和生成yaml文件的方法和實(shí)踐

    Java解析和生成yaml文件的方法和實(shí)踐

    在現(xiàn)代應(yīng)用程序中,數(shù)據(jù)交換格式的選擇至關(guān)重要,JSON?和?XML?是最常用的格式,但?YAML因其簡潔和可讀性高而越來越受到歡迎,本文將深入探討?jackson-dataformat-yaml?的特性、使用方法以及一些最佳實(shí)踐,需要的朋友可以參考下
    2024-12-12
  • maven私服的配置使用方法

    maven私服的配置使用方法

    這篇文章主要介紹了maven私服的配置使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Spring?MVC實(shí)現(xiàn)GET請求接收Date類型參數(shù)

    Spring?MVC實(shí)現(xiàn)GET請求接收Date類型參數(shù)

    這篇文章主要介紹了Spring?MVC實(shí)現(xiàn)GET請求接收Date類型參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Map集合的四種遍歷方式代碼示例

    Map集合的四種遍歷方式代碼示例

    這篇文章主要介紹了Map集合的四種遍歷方式代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10

最新評論

南召县| 商洛市| 如皋市| 汉沽区| 乌审旗| 长海县| 东至县| 汾阳市| 江华| 英吉沙县| 婺源县| 即墨市| 曲阳县| 广东省| 隆回县| 延津县| 沙田区| 沾化县| 安阳县| 景宁| 浦东新区| 彩票| 青岛市| 彝良县| 成安县| 定安县| 广昌县| 江油市| 乐至县| 合水县| 武安市| 同仁县| 油尖旺区| 治多县| 宁阳县| 济南市| 阿尔山市| 华安县| 泗水县| 和林格尔县| 梓潼县|