Java微服务框架 HP-SOA 1.0.5 — 完整支持 Spring Cloud 和 Dubbo

HP-SOA

HP-SOA

功能完备,简单易用,高度可扩展的Java微服务框架。

  • 项目主页 : https://www.oschina.net/p/hp-soa
  • 下载地址 : https://github.com/ldcsaa/hp-soa
  • 开发文档 : https://gitee.com/ldcsaa/hp-soa/blob/master/README.md
  • QQ Group: 44636872, 663903943

【快速开始】


技术架构

技术架构

技术集成

  • Web 服务框架:spring-boot 3.x
  • 微服务框架:spring-cloud 4.x
  • 微服务框架:Dubbo 3.x
  • 服务注册中心:Nacos
  • 配置中心:Nacos
  • 服务治理中心:Dubbo Admin
  • 流量控制中心:Sentinel Dashboard + Nacos
  • 数据库:MySQL、Druid、mybatis-plus(支持多数据源)
  • 缓存:Redis + Redisson(支持多实例)
  • NoSQL 数据库:MongoDB
  • 搜索引擎:Elasticsearch
  • 消息总线:RabbitMQ(支持多实例、可靠消息、Stream 消息)
  • 消息队列:Kafka(支持可靠消息)
  • MQTT发布订阅:Eclipse PAHO mqttv5
  • 分布式Job:xxl-job
  • 轻量级Job:Redisson + Spring Scheduled
  • 分布式事务:Seata
  • 全局ID:Leaf(支持 Snowflake ID 和 Segment ID)
  • 统一日志:Log4j + Kafka + ELK
  • 调用链跟踪:Skywalking
  • 监控告警:Prometheus + Grafana + Alert Manager

模块说明

  • hp-soa-dependencies 依赖管理模块,定义依赖包及其版本
  • hp-soa-framework-core 基础模块,定义 HP-SOA 基础组件和工具
  • hp-soa-framework-web Web应用模块,集成 spring-boot 和 Dubbo,提供核心微服务功能
  • hp-soa-framework-leaf Leaf全局ID模块,基于Leaf,提供分布式全局ID功能
  • hp-soa-framework-util 工具包模块,提供文件处理、邮件、远程访问等组件和工具
  • hp-soa-starter-web Web应用启动器,配置并启动应用服务,所有 HP-SOA 项目都必须引入该启动器
  • hp-soa-starter-web-cloud Spring Cloud 启动器,开启 Spring Cloud 微服务功能,所有 Spring Cloud 微服务项目都必须引入该启动器
  • hp-soa-starter-web-dubbo Dubbo 启动器,开启 Dubbo 微服务功能,所有 Dubbo 微服务项目都必须引入该启动器
  • hp-soa-starter-task Task启动器,开启 Spring Task 功能,并为 Spring Task 提供日志关联和调用链跟踪能力
  • hp-soa-starter-nacos Nacos配置中心启动器,开启配置中心功能,应用程序可以从远程配置中心加载配置
  • hp-soa-starter-data-mysql MySQL启动器,开启MySQL数据库访问功能,并提供动态数据源、数据源监控和全局事务管理等能力
  • hp-soa-starter-data-redis Redis启动器,开启Redis访问功能,支持多Redis实例,支持Spring Cache
  • hp-soa-starter-data-mongodb MongoDB 启动器,开启 MongoDB 访问功能,支持通过 Spring Data 接口方式访问 MongoDB
  • hp-soa-starter-data-elasticsearch Elasticsearch 启动器,开启 Elasticsearch 访问功能,支持通过 Spring Data 接口方式访问 Elasticsearch
  • hp-soa-starter-rabbitmq Rabbitmq启动器,开启Rabbitmq访问功能,支持多Rabbitmq实例,提供可靠消息实施方案以及消息跟踪能力
  • hp-soa-starter-kafka Kafka 启动器,开启 Kafka 访问功能,提供可靠消息实施方案以及消息跟踪能力
  • hp-soa-starter-mqtt MQTT启动器,开启MQTT发布订阅功能,全面支持mqttv5协议
  • hp-soa-starter-job-exclusive 轻量级Job启动器,开启轻量级排他Job功能,提供Job执行日志关联和调用链跟踪能力
  • hp-soa-starter-job-xxljob Xxl-Job启动器,开启 Xxl-Job 功能,结合 xxl-job-admin 提供分布式Job能力
  • hp-soa-starter-leaf Leaf全局ID启动器,开启Leaf全局ID功能,支持通过Snowflake算法和Segment算法生成全局ID
  • hp-soa-starter-seata Seata启动器,开启Seata分布式事务功能,结合 Seata TC 提供分布式事务能力
  • hp-soa-starter-sentinel Sentinel启动器,开启Sentinel流量控制功能,结合 Sentinel Dashboard 和 Nacos 提供流量控制和流控规则持久化能力
  • hp-soa-starter-skywalking Skywalking启动器,开启Skywalking调用链跟踪功能,结合 Skywalking Agent 和 Skywalking Server 提供调用链跟踪能力

应用接入(参考:hp-demo)

  1. pom.xml 中添加 HP-SOA 依赖
<dependencyManagement>
    <dependencies>
        <!-- 添加 hp-soa 依赖管理 -->
        <dependency>
            <groupId>io.github.hpsocket</groupId>
            <artifactId>hp-soa-dependencies</artifactId>
            <version>${hp-soa.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <!-- 普通项目引用 hp-soa-starter-web -->
    <dependency>
        <groupId>io.github.hpsocket</groupId>
        <artifactId>hp-soa-starter-web</artifactId>
    </dependency>
    <!-- Spring Cloud 项目引用 hp-soa-starter-web-cloud -->
    <!--
    <dependency>
        <groupId>io.github.hpsocket</groupId>
        <artifactId>hp-soa-starter-web-cloud</artifactId>
    </dependency>
    -->
    <!-- Dubbo项目引用 hp-soa-starter-web-dubbo -->
    <!--
    <dependency>
        <groupId>io.github.hpsocket</groupId>
        <artifactId>hp-soa-starter-web-dubbo</artifactId>
    </dependency>
    -->
    <!-- 根据项目需要,引用其它 hp-soa starter -->
    <dependency>
        <groupId>io.github.hpsocket</groupId>
        <artifactId>hp-soa-starter-xxx</artifactId>
    </dependency>
</dependencies>
  1. 修改应用配置(参考 Demo hp-demo-bff-basic 的本地配置文件 ,配置中心的远程配置文件),主要配置项:
    • hp.soa.web
    • spring.cloud (Spring Cloud 项目)
    • dubbo (Dubbo项目)
    • server
    • spring
    • management
    • springdoc
  2. 修改全局配置(可选)
    • 系统配置文件,用于设置系统属性,默认配置文件:/opt/hp-soa/config/system-config.properties参考:system-config.properties
    • 扩展配置文件,用于配置注册中心地址、配置中心地址等公共属性,默认配置文件:/opt/hp-soa/config/extended-config.properties参考:extended-config.properties
  3. 实现 HTTP 鉴权接口(可选)
    • 如果是Gateway/BFF应用,并且应用属性hp.soa.web.access-verification.enabled = true,则需要实现AccessVerificationService接口,用于HTTP请求鉴权。
  4. 启动应用
    • 以io.github.hpsocket.soa.framework.web.server.main.AppStarter作为启动类,启动应用程序。
    • JVM启动参数参考:JVM启动参数示例

[用户指南]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/203137.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

佳易王羽毛球馆计时计费软件操作教程,软件可以自动计算费用,支持会员管理

一、前言&#xff08;编程应用实例系列&#xff09;&#xff1a; 佳易王羽毛球馆计时计费软件操作教程&#xff0c;软件可以自动计算费用&#xff0c;支持会员管理 软件有试用版&#xff0c;可以下载试用&#xff0c;了解软件操作和软件功能。 软件试用版下载可以点击最下方…

37.从0到上线三天搭建个人网站(第一天)

点赞收藏加关注&#xff0c;你也能住大别墅&#xff01; 挑战三天搭建个人网站 从0到上线 一、项目的主要功能 1.作为自己在网上的一个工作室。 2.发帖 3.展示个人项目连接 4.介绍自己&#xff08;没准儿还能接点活儿&#xff09; 二、UI风格参考 三、技术选型 1.前端&a…

【C++高阶(六)】哈希的应用--位图布隆过滤器

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; 哈希的应用 1. 前言2. 位图的概念以及定义3. 位…

深度学习——Loss汇总

深度学习——Loss汇总 一、IOU Loss二、L1 Loss 一、IOU Loss 公式&#xff1a; 参考资料: 目标检测回归损失函数——IOU、GIOU、DIOU、CIOU、EIOU 二、L1 Loss 公式&#xff1a; 参考资料: PyTorch中的损失函数–L1Loss /L2Loss/SmoothL1Loss

【FMC140】 基于VITA57.4标准的双通道5.2GSPS(或单通道10.4GSPS)射频采样FMC+子卡模块

板卡概述 FMC140是一款具有缓冲模拟输入的低功耗、12位、双通道&#xff08;5.2GSPS/通道&#xff09;、单通道10.4GSPS、射频采样ADC模块&#xff0c;该板卡为FMC标准&#xff0c;符合VITA57.1规范&#xff0c;该模块可以作为一个理想的IO单元耦合至FPGA前端&#xff0c;8通道…

<avue-crud/>,二级表头,children下字典项的dicUrl失效问题

目录 1.提出问题&#xff1a; 1.1 代码&#xff1a; 1.2 效果图&#xff1a;会发现处在children下的dicUrl失效了 2. 解决思路 3. 解决代码&#xff08;你要的都在这&#xff0c;看这里&#xff09; 1.提出问题&#xff1a; 在使用<avue-crud/>组件实现二级表头时&…

Leetcode2336 无限集中的最小数字

题目&#xff1a; 现有一个包含所有正整数的集合 [1, 2, 3, 4, 5, ...] 。 实现 SmallestInfiniteSet 类&#xff1a; SmallestInfiniteSet() 初始化 SmallestInfiniteSet 对象以包含 所有 正整数。int popSmallest() 移除 并返回该无限集中的最小整数。void addBack(int nu…

Linux | Ubuntu设置 netstat(网络状态)

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据&#xff0c;一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序&#xff0c;它能提供TCP连接&#xff0c;TCP和UDP监听&#xff0c;进程内存管理的相关报告。 1.netstat的安装 搜…

nodejs最新电商jd m端h5st 4.2签名算法4.2版本逆向,jd API接口,jd商品数据采集

前言&#xff1a; jd m端使用最新的h5st 4.2签名算法&#xff0c;与h5st 4.1版本有很大的不同。在这儿分析一下&#xff0c;供大家参考。 一、目标地址(Base64解码) aHR0cHM6Ly9zby5tLmpkLmNvbS93YXJlL3NlYXJjaC5hY3Rpb24/a2V5d29yZD0lRTklOTklQTQlRTYlQjklQkYlRTYlOUMlQkEmc2…

c++基本常见错误总结

我们无论是在学习中还是在工作当中&#xff0c;总是会遇到各种各样的c编译错误问题&#xff0c;经常会有一种情况就是上一次好像遇到过这种问题&#xff0c;但是就是想不起来了&#xff08;我就是这样&#xff09;所以下面这一篇文章就是总结自己遇到的编译以及运行错误。 注意…

药食同源的食物哪些适合冬季吃?

药食同源的食物是指在中医理论指导下&#xff0c;既是药物又是食物的天然植物和动物&#xff0c;具有营养和药效双重作用。在冬季&#xff0c;由于气候寒冷&#xff0c;人体需要更多的热量和营养来保持温暖和健康&#xff0c;因此药食同源的食物在冬季特别适合食用。以下是几种…

(5h)Unity3D快速入门之Roll-A-Ball游戏开发

DAY1&#xff1a;Unity3D安装 链接 DAY2&#xff1a;构建场景&#xff0c;编写代码 链接 内容&#xff1a;WASD前后左右移动、摄像机跟随 DAY3&#xff1a;待更新 DAY4&#xff1a;待更新 DAY5&#xff1a;待更新

UG\NX二次开发 设置是否允许通过NXOpen锁定属性

文章作者:里海 来源网站:里海NX二次开发3000例专栏 感谢粉丝订阅 感谢 2301_80939425 订阅本专栏,非常感谢。 简介 在使用UF_ATTR_set_locked函数锁定属性前,需要先设置是否允许通过NXOpen锁定属性。使用下面的代码可以修改“用户默认设置”当 NX 启动时,客户默认值将读取…

TA-Lib学习研究笔记(三)——Volatility Indicator

TA-Lib学习研究笔记&#xff08;三&#xff09;——Volatility Indicator 波动率指标函数组 Volatility Indicators: [‘ATR’, ‘NATR’, ‘TRANGE’] 1.ATR Average True Range 函数名&#xff1a;ATR 名称&#xff1a;真实波动幅度均值 简介&#xff1a;真实波动幅度均值…

第二十章多线程总结

20.1 线程简介 世间有很多工作都是可以同时完成的。例如&#xff0c;人体可以同时进行呼吸、血液循环、思考问题等活用户既可以使用计算机听歌&#xff0c;也可以使用它打印文件。同样&#xff0c;计算机完全可以将多种活动同时进这种思想放在 Java 中被称为并发&#xff0c;而…

深度学习框架:Pytorch与Keras的区别与使用方法

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 文章目录 Pytorch与Keras介绍 Pytorch 模型定义 模型编译 模型训练 输入格式 完整代码 Keras 模型定义 模型编译 模型训练 输入格式 完整代…

【网络安全】-安全常见术语介绍

文章目录 介绍1. 防火墙&#xff08;Firewall&#xff09;定义通俗解释 2. 恶意软件&#xff08;Malware&#xff09;定义通俗解释 3. 加密&#xff08;Encryption&#xff09;定义通俗解释 4. 多因素认证&#xff08;Multi-Factor Authentication&#xff0c;MFA&#xff09;定…

springMVC实验(二)—调式工具APIFOX的使用

【知识要点】 后端开发调试工具 前后端分离已经成为互联网类软件开发主流模式&#xff0c;没有前端操作的支持&#xff0c;如何调试后端程序的就是开发人员必须解决的问题。如&#xff1a;get类请求可以直接使用浏览器就能模拟测试&#xff0c;但是post、put等类型的请求&…

22款奔驰GLS450升级香氛负离子 淡淡的幽香

香氛负离子系统是由香氛系统和负离子发生器组成的一套配置&#xff0c;也可以单独加装香氛系统或者是负离子发生器&#xff0c;香氛的主要作用就是通过香氛外壳吸收原厂的香水再通过空调管输送到内饰中&#xff0c;而负离子的作用就是安装在空气管中通过释放电离子来打击空气中…

支持向量机,硬间隔,软间隔,核技巧,超参数设置,分类与回归

SVM&#xff08;Support Vector Machine&#xff0c;支持向量机&#xff09;是一种非常常用并且有效的监督学习算法&#xff0c;在许多领域都有广泛应用。它可以用于二分类问题和多分类问题&#xff0c;并且在处理高维数据和特征选择方面非常强大。SVM算法的核心思想是通过找到…
最新文章