要做一个金融类的项目,有什么需要注意的地方呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
nonesuccess
V2EX    程序员

要做一个金融类的项目,有什么需要注意的地方呢?

  nonesuccess 2015-12-08 14:07:00 +08:00 7637 次点击
这是一个创建于 3652 天前的主题,其中的信息可能已经有所发展或是发生改变。

之前的经验大多集中于内网管理系统,把业务实现了就行,安全性、性能等基本不用考虑。技术上 struts2+mybatis+各种其它库,写完了开个 tomcat 扔上去完事。各种人肉写工具类, java 功底还可以。 spring 一直没在实际项目中应用过,文档太多,一直没下定心思研究。

这次接了一个要在互联网上运行金融类项目,把那些业务流程都实现了应该没什么问题,但不知道这里面有多少坑。求大家在架构方面给点主意,或者也可以有偿提供松散式的顾问服务也行。

业务流程不难,是个理财类的产品,什么时间买,到期给利息等等。要做网页版和 Android 、 iOS 两个 App 。初期用户不会太多( 100 ? 200 ?),业务模式验证成功后,再考虑在互联网上推广。

能投入的人力不多,只有我能在架构层面投入,并且集中投入一段时间后,就不能再全天投入了。因此也有快速开发的需求。

现在能想到的地方,大家看看想法对不对:

  • 看看阿里云上有没有金融类的硬件解决方案,比如内外网隔离等等。感觉上应该有类似的方案,用上之后,能解决一部分安全问题。
  • 全站 https ,这应该是必备的。传说性能上会有点消耗,不过感觉每年多投个几万块钱的服务器费用应该就能解决了。
  • 数据库用 mysql ,引擎用 innodb 。买 oracle 估计预算不够,感觉淘宝都用 mysql ,我们用应该也问题不大。或者另一种方案是用阿里云的 sqlserver 服务,成本也不算太高。
  • 考虑 web 服务化,接口用 restful 风格,然后网页端、两个 app 的大部分功能都共用接口,这样应该能减轻很大的开发压力。现在主要不清楚的地方是 android 和 iOs 对接这种 web 接口开发起来是不是方便。另外都说 struts2 过时了,如果没有好的 restful 方案的话也可以考虑借此机会迁到 springmvc 上。
  • app 部分,之前从未有过任何经验。如果能有比较划算的 hybrid app 方案,最好,不行的话,只有硬写。
  • 支付接口部分,要能充值、体现。感觉很复杂。做过微信支付的小项目,支付宝支付应该也不难。各种银行卡眼花缭乱的,不过支付宝好像提供银行卡的统一接口。不知道还有没有其它风险。
  • 项目基本流程跑通后,到网上买个安全监测的服务,比如乌云好像有个叫什么众测的东西不知道靠谱不靠谱,找一些安全专家测试一下,毕竟团队里面没有能专职做安全的人。
27 条回复    2015-12-17 17:43:17 +08:00
tengyoou
    1
tengyoou  
   2015-12-08 14:42:05 +08:00
钱别算错,其他随便搞。。。
missdeer
    2
missdeer  
   2015-12-08 14:45:43 +08:00
安全第一吧
huangshu
    3
huangshu  
   2015-12-08 14:59:11 +08:00   3
做项目之前先确认这家公司资金有问题没。
十家金融公司有九家有拖欠开发款的习惯。
通过题主说的。我判断你们的项目和 P2P 互联网金融类似。
我帮这种公司立项目,拖款,不给钱,介绍进去的员工工资拖着不发。
我觉得代码都不是问题了,最大的问题就是搞金融的钱都不是自己的。没准哪天催债就把你们办公室门口堵了。
我就在这种公司呆着遇到过、 so 。注意安全。。。。。。。
nonesuccess
    4
nonesuccess  
OP
   2015-12-08 15:17:57 +08:00
@huangshu 好吧,让他们先付个三成到四成再开工
globit
    5
globit  
   2015-12-08 15:25:57 +08:00
1. 支付宝(阿里云)有金融云服务倒是涵盖了不少服务,不过一般小企业不会用,对接麻烦,
2. restful 风格的设计的时候要注意一下规范,看了很多工作的设计都不是很规范,这点要注意,不然移动写起来很痛苦
3. 钱不要算错,不要用 Double ,哈哈。

我们目前项目偏金融,框架基础是 SpringMVC + Mybatis ,楼主有时间可以一起交流下
mahone3297
    6
mahone3297  
   2015-12-08 15:37:43 +08:00
1. 钱不要算错。。。
2. 数据不要丢。。。(比如 db crash )
hantsy
    7
hantsy  
   2015-12-08 15:44:16 +08:00
金融项目先查查公司背景吧,特别一些金融方面的资质,国内很多公司都是打擦边球的,挺而走险的黑公司更多。

支付方面更应该要求提供金融相应资质,这个国家现在有严格规定,没有 [银行] , [基金] 资质,是不能直接收钱的。我之前做的金融项目,是用第三方托管方式平台(对接托管比支付更麻烦)。

不然后面公司卷款逃跑,责任说不定是程序员的,最终倒霉是你。
hantsy
    8
hantsy  
   2015-12-08 15:45:49 +08:00
@huangshu 没错,做金融的人大部分太不可靠了。他们天天就是拆东墙补西墙。
huangshu
    9
huangshu  
   2015-12-08 15:50:13 +08:00
@hantsy 这批人毫无道义可言。
hantsy
    10
hantsy  
   2015-12-08 15:50:43 +08:00
@nonesuccess 在这个帖子中我提到之前的一些架构上的考虑, 20 楼

t/241348
cevincheung
    11
cevincheung  
   2015-12-08 15:59:27 +08:00
我是来安利 PostgreSQL 的
a379395979
    12
a379395979  
   2015-12-08 16:11:34 +08:00
@globit 为什么不用 double..
ren2881971
    13
ren2881971  
   2015-12-08 16:40:11 +08:00
计算精度、 安全、 数据容灾备份~
triffic
    14
triffic  
   2015-12-08 17:04:09 +08:00
呵呵,做理财,坑很多,刚好做过,提几点醒:
理财类产品涉及资金监管, TA 账户之类的;
疑帐处理
对账等等
nonesuccess
    15
nonesuccess  
OP
   2015-12-08 17:29:33 +08:00
@triffic 这些跟我一个开发公司有关系吗?

能不能在开发合同里面写明白,他们说怎么干我就怎么干,我不负任何责任?
nonesuccess
    16
nonesuccess  
OP
   2015-12-08 17:30:12 +08:00
@triffic 可能我理解错你的意思了 233 ,你说的应该都是系统要提供的功能吧
loveuqian
    17
loveuqian  
   2015-12-08 17:33:00 +08:00 via iPhone
楼主是一个人全接了?
之前去面试一家 p2p
我是 iOS
负责人跟我聊了半小时数据安全。。。
H3x
    18
H3x  
   2015-12-08 17:35:04 +08:00
乌云众测现在越来越成熟了,在自身没有技术实力来保障安全的前提下,来一发众测还是很有必要的。
nonesuccess
    19
nonesuccess  
OP
   2015-12-08 17:42:56 +08:00
@loveuqian 嗯,全接了

开小公司接各种活的,靠压榨手底下一帮刚毕业的小孩为生的苦逼人士……总之手下的人没什么架构能力,全靠我搞出成熟方案后他们去复制,压力颇大
lj
    20
lj  
   2015-12-08 18:39:46 +08:00
@a379395979 精度不够,要 BigDecimal
lyhapple
    21
lyhapple  
   2015-12-08 22:41:36 +08:00
@nonesuccess 加油,你当初也是被这样压榨的。
nonesuccess
    22
nonesuccess  
OP
   2015-12-09 11:21:00 +08:00
@globit restful 从来没接触过,感觉技术上不是问题,但是怎么从思维上设计出一个符合标准的 api 比较头疼。如果不标准的话,会在哪方面有影响呢?
globit
    23
globit  
   2015-12-09 12:08:37 +08:00
@nonesuccess 1. 推荐看一下设计规范(论文英文水平好可以看看)简单说来最常见的问题是 url 不要有动词,用方法 method 表示操作,并且尽量保持无状态,尽量让设计符合 rest 最先的初衷,这样后期维护轻松,前后端开发的精力消耗较小。 2. 另外,推荐用 RAML 来表达 rest api ,我们团队用起来很顺手,前后端都依赖这个来进行设计, review 和开发,可以看我的文章: http://blog.guoyiliang.com/2015/04/23/raml-init/
nonesuccess
    24
nonesuccess  
OP
   2015-12-09 20:26:42 +08:00
@globit 买了几本 restful 相关的书正在啃,不过也许过两天项目就要开始开发了,不知道有没有什么快速入门的建议。

restful 现在算是一个成熟的方案吗?比如网上经常说的流行浏览器对 PUT 和 DELETE 支持不好的问题,都有对应的解决方案没?
globit
    25
globit  
   2015-12-09 23:58:30 +08:00   1
@nonesuccess 成不成熟估计轮不到我说,从我用的角度来说这样前后端分离,后端可以单独测试,因为后端比较稳定,所以这部分的工作就抽离出来了,对于项目的分工有好处。 看到你的情况说你是作为 leader 包揽了整个架构,情况和我差不多,所以推荐用这样的。 快速入门嘛, 我这里搭建了一个 springmvc + mybatis 的教学项目你可以参考下。 https://github.com/guoylyy/tiger-framework . 有问题可以和我多交流额,相互学习, 我邮件在 github 可以看到
hqs123
    26
hqs123  
   2015-12-10 07:59:30 +08:00
安全稳定,后台数据尤为重要.
7harryprince
    27
7harryprince  
   2015-12-17 17:43:17 +08:00
支付有 ping++啊,现在各种服务都有创业公司帮忙做好了,只要实现核心功能就可以了。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5936 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 24ms UTC 02:14 PVG 10:14 LAX 18:14 JFK 21:14
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86