首页 文章 精选 留言 我的

精选列表

搜索[子流程],共10000篇文章
优秀的个人博客,低调大师

简化部署流程:Rainbond让Jeepay支付系统部署更轻松

在如今的开发环境中,部署一套像 Jeepay 这样的 Java 支付系统往往需要开发者面对繁琐的配置、依赖环境管理以及服务的高可用性保障,手动部署和运维变得异常艰巨和费时。然而,借助 Rainbond 这样的云原生 PaaS 平台,这一过程变得前所未有的简单。通过 Rainbond 的"点点点"式应用管理和自动化运维功能,开发者可以轻松完成 Jeepay 系统的部署,极大减少了传统的部署难度和复杂性,让你更专注于业务的快速迭代和创新。 本文将详细介绍如何通过 Rainbond 平台一步步部署 Jeepay 系统,无需复杂的配置,只需简单操作即可完成,帮助开发者快速构建一个稳定、安全的支付系统。 关于 Jeepay Jeepay是一套适合互联网企业使用的开源支付系统,支持多渠道服务商和普通商户模式。已对接微信支付,支付宝,云闪付官方接口,支持聚合码支付。Jeepay使用Spring Boot和Ant Design Vue开发,集成Spring Security实现权限管理功能,是一套非常实用的web开发框架。 项目特性 支持多渠道对接,支付网关自动路由 已对接微信服务商和普通商户接口,支持V2和V3接口 已对接支付宝服务商和普通商户接口,支持RSA和RSA2签名 已对接云闪付服务商接口,可选择多家支付机构 提供http形式接口,提供各语言的sdk实现,方便对接 接口请求和响应数据采用签名机制,保证交易安全可靠 系统安全,支持分布式部署,高并发 管理端包括运营平台和商户系统 管理平台操作界面简洁、易用 支付平台到商户系统的订单通知使用MQ实现,保证了高可用,消息可达 支付渠道的接口参数配置界面自动化生成 使用spring security实现权限管理 前后端分离架构,方便二次开发 由原XxPay团队开发,有着多年支付系统开发经验 使用 Rainbond 开源应用商店部署 Jeepay 首先需要在你的服务器上部署 Rainbond,只需一条命令即可完成部署,更多部署方式请参阅 Rainbond 部署文档。 curl -o install.sh https://get.rainbond.com && bash ./install.sh 部署完成后,进入 Rainbond 平台,选择通过应用市场部署,在开源应用商店中搜索Jeepay 并进行一键安装。 等待拓扑图中的组件颜色变为绿色,即可点击访问按钮访问 Jeepay。 Jeepay-ui-manager 是 Jeepay 运营平台,默认账号密码:jeepay/jeepay123 Jeepay-ui-merchant 是 Jeepay 商户系统,默认账号密码:账号在运营平台创建/密码为jeepay666 使用 Rainbond 源码部署 Jeepay 本章节介绍如何在 Rainbond 上通过源代码部署 Jeepay。 中间件部署 | 软件名称 | 版本 | 说明 | | :------- | :------------------------------- | :----------------------- | | Redis | 3.2.8 | 分布式缓存,高版本也支持 | | MySQL | 5.7 | 不低于5.7,支持8.0高版本 | | MQ | ActiveMQ 或 RabbitMQ 或 RocketMQ | 消息中间件 | 中间件准备: Redis: 通过 Rainbond 应用商店搜索并部署,随意一个版本都可以。 MySQL: 通过Rainbond 应用商店搜索并部署,部署 8.0 以上的版本,部署后打开 MySQL 组件的对外端口,通过本地工具连接,初始化 Jeepay SQL。 MQ: 这里选择部署 RabbitMQ,有两种方式可选: 根据 Jeepay 提供的 Dockerfile 构建 RabbitMQ 并配置。 通过 Rainbond 应用商店把整套 Jeepay 部署下来,删除其他只保留 RabbitMQ(同样来自 Jeepay提供的Dockerfile构建) 部署 Jeepay 后端服务 在部署之前需要修改 pom.xml 文件启动 RabbitMQ,jeepay-components/jeepay-components-mq/pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> - <scope>provided</scope> + <!-- <scope>provided</scope> --> </dependency> 修改完成后,选择基于源码构建组件,填写 Git 相关信息 检测完成后进入多模块构建,选择可启动的模块并创建 切换到编辑模式,将后端服务都连接到中间件。 修改后端服务配置文件,根据 Jeepay 提供模版进行修改,只需修改对应连接中间件的信息即可。这里采用环境变量的方式,是因为在 Rainbond 上组件A依赖了组件B后,组件B的环境变量会被注入到组件A中,那么组件A就可以很灵活的连接后端服务。 # https://gitee.com/jeequan/jeepay/tree/master/conf spring: datasource: + url: jdbc:mysql://${DB_HOST}:3306/${MYSQL_DATABASE}?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true username: root + password: ${MYSQL_ROOT_PASSWORD} redis: + host: ${REDIS_HOST} port: 6379 database: 2 #1库:运营平台 #2库:商户系统 #3库:支付网关 timeout: 1000 password: rabbitmq: + addresses: ${RABBITMQ_HOST}:5672 username: admin password: admin dynamic: true virtual-host: jeepay mq: + vender: rabbitMQ 环境变量可在组件的依赖信息中查看。 为各个组件挂载配置文件,在组件的环境配置下进行挂载,每个服务挂载它对应的配置文件即可。挂载路径都保持一致/app/application.yml 部署 Jeepay 前端服务 前端服务目录结构 jeepay-ui ├── jeepay-ui-cashier -- 聚合收银台项目 ├── jeepay-ui-manager -- 运营平台web管理端 └── jeepay-ui-merchant -- 商户系统web管理端 通过源码部署 jeepay-ui-manager 前端项目,填写相关 Git 信息以及子目录 检测完成后选择 NodeJSStatic 语言,如下 Node版本选择 16.20.0 其他不变。 等待构建完成。jeepay-ui-merchant、jeepay-ui-cashier重复上述操作,只修改子目录路径即可。 建立前端到后端服务的依赖关系。 添加前端 Nginx 配置文件,3个前端服务都需要挂载配置文件,只是内容不同。 以下配置文件只需修改 proxy_pass 的地址,同样也可以像上述一样采用环境变量或者填写实际的后端服务的对内地址和端口。 # jeepay-ui-manager server { listen 5000; location / { root /app/www; index index.html index.htm; try_files $uri $uri/ /index.html; } location /api/{ proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://${MANAGER_HOST}:9217; # 启用支持websocket连接 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } # jeepay-ui-merchant server { listen 5000; location / { root /app/www; index index.html index.htm; try_files $uri $uri/ /index.html; } location /api/{ proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://${MERCHANT_HOST}:9218; # 启用支持websocket连接 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } # jeepay-ui-cashier server { listen 5000; location / { root /app/www; index index.html index.htm; try_files $uri $uri/ /index.html; } location /api/{ proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://${PAYMENT_HOST}:9218; # 启用支持websocket连接 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } 添加配置文件后更新组件。 到这就部署完成了,可以通过各个前端的对外地址进行访问,如遇问题可参考 Jeepay 文档进行排查。 最后 通过上述步骤,我们已经成功在 Rainbond 平台上部署了 Jeepay 支付系统。借助 Rainbond,我们可以非常简单的部署应用和开发应用,使我们无需关心部署相关,只需关注代码即可。如果是第一次接触 Rainbond 的小伙伴上来就通过源码去部署 Jeepay 可能相对会懵懂一些,预计节后会录制一个通过源代码部署 Jeepay 的视频,大家可关注Rainbond B站账号动态。

优秀的个人博客,低调大师

轻量级的流程编排引擎

LiteFlow 2.6.3版本发布了!每次发布新版本,都觉得这个框架的健壮度又高了很多 感谢社区的小伙伴那么热心的给这个项目提PR,提ISSUE。你们的使用反馈促成了LiteFlow一次又一次的迭代 同时也自夸一波,这issue的解决速度是不是还可以呢? 如果你是第一次知道LiteFlow这款框架,可以移步以下链接进行了解: LiteFlow官网:https://yomahub.com/liteflow Gitee仓库托管主页:https://gitee.com/dromara/liteFlow Github仓库托管主页:https://github.com/dromara/liteflow 也可以看我之前发布的一篇介绍LiteFlow这个框架的文章 https://mp.weixin.qq.com/s/xyydmtk_a5R1zbg3EeORaw 本次更新点如下: 增强 #I4E0V9 支持在NodeComponent里自定义beforeProcess和afterProcess,没有覆盖方式时,默认读取aspect里的方法 https://gitee.com/dromara/liteFlow/issues/I4E0V9 增强 #I4DGEU 可以实现把ZK客户端curator依赖改成optional吗 https://gitee.com/dromara/liteFlow/issues/I4DGEU 修复 #I4E11G xml里定义条件组件有空格无法识别,如:b( testChan3 | testChan2 )。增加节点trim处理 https://gitee.com/dromara/liteFlow/issues/I4E11G 修复 #I4E2V4 修复异步线程池没有被TTL修饰有可能引起的无法拿到ThreadLocal值的问题 https://gitee.com/dromara/liteFlow/issues/I4E2V4

优秀的个人博客,低调大师

Fizz Gateway 2.2.3 发布,微服务编排流程组件更稳定

v2.2.3 changelog: 修复不能导入导出用户的问题 修复因未设置超时时间导致报错的问题 修复循环组件因下一个循环对象为空时抛异常的问题 修复fallback报文因没有默认content-type请求头不能解析的问题 打印网关运行时异常日志 添加上下文信息到网关运行时异常里方便后续排查 Fix the issue that users could not be imported or exported Fix the issue that an exception was threw because the timeout was not set Fix the issue that loop component will throw exception when the next item is null Fix the issue that fallback json can not be parsed due to no default content-type header Print fizz runtime exception log Add step context to FizzRunTimeException for further investigation 软件简介 A Managerment API Gateway in Java . Fizz Gateway 是一个基于 Java开发的微服务网关,能够实现热服务编排、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理、回调管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行API服务治理、减少中间层胶水代码以及降低编码投入、提高 API 服务的稳定性和安全性。 演示环境(Demo) http://demo.fizzgate.com/ 账号/密码:admin/Aa123! 健康检查地址:http://demo.fizzgate.com/admin/health(线上版本请限制admin路径的外网访问) API地址:http://demo.fizzgate.com/proxy/[服务名]/[API_Path] Fizz的设计 产品特性 集群管理:Fizz网关节点是无状态的,配置信息自动同步,支持节点水平拓展和多集群部署。 服务编排:支持HTTP、Dubbo、gRPC协议热服务编排能力,支持前后端编码,随时随地更新API。 负载均衡:支持round-robin负载均衡。 服务发现:支持从Eureka或Nacos注册中心发现后端服务器。 配置中心:支持接入apollo配置中心。 HTTP反向代理:隐藏真实后端服务,支持 Rest API反向代理。 访问策略:支持不同策略访问不同的API、配置不同的鉴权等。 IP黑白名单:支持配置IP黑白名单。 自定义插件:强大的插件机制支持自由扩展。 可扩展:简单易用的插件机制方便扩展功能。 高性能:性能在众多网关之中表现优异。 版本控制:支持操作的发布和多次回滚。 管理后台:通过管理后台界面对网关集群进行各项配置。 回调管理:支持回调的管理、订阅、重放、以及日志 基准测试 我们将Fizz与Spring官方spring-cloud-gateway进行比较,使用相同的环境和条件,测试对象均为单个节点。 Intel(R) Xeon(R) CPU X5675 @ 3.07GHz * 4 Linux version 3.10.0-327.el7.x86_64 8G RAM 产品 QPS 90% Latency(ms) 直接访问后端服务 9087.46 10.76 fizz-gateway 5927.13 19.86 spring-cloud-gateway 5044.04 22.91

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册