Skip to content

hbq969/hmis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image-20230218185700332

说明

是一个微服务的基础代码库,可用于日常快速开发,包括后台维护功能:

  • 基础依赖包 common

    • RESTful接口版本控制(基于注解)、返回包装器
    • RESTful接口加解密支持(基于注解)
    • 分布式锁(基于redis+lua
    • 任务调度辅助代码(基于注解)
    • 通用字典管理
    • 规则引擎(一套自定义的强大规则表达式解析、匹配)
    • 常用增强工具类
    • 接口缓存(基于spring-cache扩展,支持expire)(基于注解)
    • 自定义增强应用端点(线程CPU负荷分析、网络连接分析)
    • 分布式ID(基于Twitter的雪花算法SnowFlake实现)
    • 数据库连接池动态切换支持(基于注解)
  • 应用指标采集 agent

    • 默认内置jvmkafka出入口消息指标采集
    • 支持自定义指标扩展采集(实现对应接口)
    • 默认指标采集后发送给kafka集群
    • 中间件、数据库、主机等其他资源均可通过此套接口封装采集逻辑
  • 指标阈值管理monitor

    • 指标数据收集存储(默认保存24小时的数据,可配置)
    • 指标趋势数据查看(可根据应用纬度、单实例纬度)
    • 指标阈值配置(manage中包含管理页面)
    • 指标数据匹配阈值引擎核心逻辑
    • 警告通知适配(默认支持UNISMS第三方短信平台,可自行扩展其他)
  • 配置管理扩展包 config

    • 适配zk配置中心,支持配置加密存储读取
    • 适配SpringCloud-Zookeeper
  • kafka事件管理扩展包 event

    • 适配kafka消息,对字符串消息做javabean映射处理,增强kafka消息的可读性处理
    • 可根据业务自行扩展消息
    • 客户端只需依赖此组件,实现指定接口即可
  • 门户网关 gateway

    • 扩展SpringCloud Gateway实现动态路由功能,将路由保存入数据库
    • 管理模块已实现对应路由管理配置页面
  • 维护管理包 manage

    • 字典管理页面
    • 路由管理页面
    • 指标阈值配置页面
    • kafka入口消息流控速率配置管理页面
    • OpenAI接入页面
    • 增加配置中心UI控制台

技术栈

  • 开发框架 SpringBootVue3Element-UIwebpacktypescript
  • 中间件 KafkaMysqlOraclerediszk
  • 微服务相关 k8sdockerSpringCloud Gateway(网关)、Zookeeper/ZKUI(配置中心)、Consul(服务注册、发现)

各组件

新特性

  1. 完成chatgpt的接入,开发聊天界面,需要具备科学网络环境

image-20230214131336532

基于 transitive-bullshit/chatgpt-api 二次开发,需要调整以下内容 (改版本基于node服务端开发,无法在浏览器中跑)

webpack增加配置

plugins: [
    new webpack.ProvidePlugin({
      Buffer: ['buffer', 'Buffer'],
    }),
  ],
  resolve: {
    fallback: {
      "path": require.resolve("path-browserify"),
      "https": require.resolve("https-browserify"),
      "http": require.resolve("stream-http"),
      "buffer": require.resolve("buffer"),
      fs: false
    },
  },

package.json增加配置

"browser": {
  "fs": false
}

安装部分依赖

npm install path-browserify@1.0.1 https-browserify@1.0.0 stream-http@3.2.0 json-buffer@3.0.1

替换 node_modules/gpt-3-encoder/Encoder.js

  1. 添加配置中心控制台UI管理功能

此功能为对Zookeeper作为配置中心,提供配置数据页面管理维护功能,结合Zookeeper使用。具体功能特性参考 config

image-20230221185248170

计划

  • 配置管理集成ZKUI的管理页面

    • 配置管理(目录、属性新增、修改、删除)
    • 配置导出(可导出任意目录下所有配置)
    • 配置导入(支持批量文件导入)
    • 配置查询(支持目录、属性名、属性值条件)
    • 支持操作类记录的留存、查询
    • 支持配置数据的备份和恢复
    • 支持页面手工刷新应用配置
  • 常用中间件、数据库、主机等指标采集实现

  • 网关实现灰度发布功能

  • 统一认证服务,网关统一鉴权

  • 权限管理(菜单、api等纬度)、防垂直越权

  • 可配置化页面快速开发功能(类似低代码,纯配置)

  • ......