在cloudfoundry上构建分布式应用—-概述

本文阐述了如何利用分布式架构构建一个信用卡交易欺诈检测系统,包括终端模拟、交易排查和检测处理三个子系统,分别选用Spring+thymeleaf、drools和NodeJs等技术进行实现。系统旨在独立处理交易和排查,同时快速更新安全规则,以应对欺诈行为的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下应用的想法来自于一个关于web 分布式架构的演讲感染(见引用部分)。其中提到用熟悉的工具搭建起组件,再集成起来完成某种业务功能,很拽呦;后来看到可以使用cloudfoundry提供的组件支持,那就试一下喽。

动心不如动手,那就开始吧:

首先描述一下场景,假想一个类似银行的信用卡业务的交易处理系统需要做消费欺诈的检测。有两个出发点:

  • 大多数的用户交易都是合规的,不能因为要查用户交易,就影响到正常的交易。
  • 安全规则和诈骗手法都是在发展变化的,破坏一个东西比建设一个东西要容易的多;只有快速更新安全规则才能预防和缓解“勤劳的”骗子的攻击。

有了目标,那怎么做呢?头大?那就拆分一下吧:

  • 终端模拟。终端是消费的渠道,网站、店铺刷卡等等;这里采用一个B/S应用模拟一下。
  • 交易排查。从终端过来的大量的交易数据,经过一个排查系统,从中寻找可疑交易。
  • 检测处理。可疑的交易数据反馈到检测平台,由值班业务人员对它进行处理。

有了子系统拆分,且清楚子系统的工作内容;下一步就是考虑子系统的技术选型了。

  • 终端模拟。选择Spring+thymeleaf .  Spring不用说了,地球人都知道。Thymeleaf也 真心不错,能在页面浏览器中直接预览静态数据效果,而且在服务器端执行时,可以将模板放到内存中,直接填充数据生成客户端页面。直击许多EE开发后端模板的不便之处。
  • 交易排查。这里选择了drools . 为什么选它呢,没别的,向jboss致敬。
  • 检测处理。检测需要有人盯着仪表盘,又不能让人总点刷新按钮。既然nodejs这么火,前后通吃,试一下喽。

呵呵,看到这里,你可能会说没有什么选择依据么。恭喜你说对了,是这么回事,有时看到一些技术贴子,就想试一下(可见宣传还是重要的,不知道哪个方向的风能吹来新用户。只要不扰民都是可行的)。

接下来就是实现了,此处省略 一千字,——哦,不!是一千个 copy/paste ……

实现后是什么样子呢,以下贴几个图来说明一下使用的效果是什么样的,(别信广告,也别看人家的疗效,自己试一下喽)。

首先呢我们用模拟终端 模拟一下产生交易数据;如下图,点击几次在交易;

模拟器地址:http://cfclient.cloudfoundry.com/trans.html 


终端模拟只模拟浏览器是不够滴,那么我们就再实现一个android的终端模拟器吧:


这时我们在监控应用出看到了这些交易都输出到了正常交易区;然后我们再模拟终端处模拟一下不同地点的交易,如下图:

监控器地址:http://cfmonitor.cloudfoundry.com/


咦,我们可以看到可疑区出现了 一些数据,为什么呢,原因来自于交易排查出这部分交易违反了安全规则,如下图:


实现部分,就到这里吧。然后,我们看看开始的目标:

1,交易处理和交易排查是独立的应用,互不影响,且是实时的。满足。

2,当骗子的手法升级了,排查的规则算法可以独立升级。亲,可以不影响大多数普通交易的进行呦。满足。

先写到这吧,把文中涉及到的一些内容的链接列在下面作为结束。

资料引用:

1, CloudFoundry   .  http://cloudfoundry.com/

2,ThemeLeaf .    http://www.thymeleaf.org/

3,  Drools .  http://www.jboss.org/drools

4, NodeJs   http://nodejs.org/

5, 分解应用PPT   http://springonechina.cloudfoundry.com 上的 Richardson

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值