V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nonesuccess
V2EX  ›  程序员

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

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

    之前的经验大多集中于内网管理系统,把业务实现了就行,安全性、性能等基本不用考虑。技术上 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 楼

    https://www.v2ex.com/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   ·   我们的愿景   ·   实用小工具   ·   2892 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:18 · PVG 22:18 · LAX 07:18 · JFK 10:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.