• 请不要在回答技术问题时复制粘贴 AI 生成的内容
nonesuccess
V2EX  ›  程序员

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

  •  
  •   nonesuccess · Dec 8, 2015 · 7958 views
    This topic created in 3830 days ago, the information mentioned may be changed or developed.

    之前的经验大多集中于内网管理系统,把业务实现了就行,安全性、性能等基本不用考虑。技术上 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 replies    2015-12-17 17:43:17 +08:00
    tengyoou
        1
    tengyoou  
       Dec 8, 2015
    钱别算错,其他随便搞。。。
    missdeer
        2
    missdeer  
       Dec 8, 2015
    安全第一吧
    huangshu
        3
    huangshu  
       Dec 8, 2015   ❤️ 3
    做项目之前先确认这家公司资金有问题没。
    十家金融公司有九家有拖欠开发款的习惯。
    通过题主说的。我判断你们的项目和 P2P 互联网金融类似。
    我帮这种公司立项目,拖款,不给钱,介绍进去的员工工资拖着不发。
    我觉得代码都不是问题了,最大的问题就是搞金融的钱都不是自己的。没准哪天催债就把你们办公室门口堵了。
    我就在这种公司呆着遇到过、 so 。注意安全。。。。。。。
    nonesuccess
        4
    nonesuccess  
    OP
       Dec 8, 2015
    @huangshu 好吧,让他们先付个三成到四成再开工
    globit
        5
    globit  
       Dec 8, 2015
    1. 支付宝(阿里云)有金融云服务倒是涵盖了不少服务,不过一般小企业不会用,对接麻烦,
    2. restful 风格的设计的时候要注意一下规范,看了很多工作的设计都不是很规范,这点要注意,不然移动写起来很痛苦
    3. 钱不要算错,不要用 Double ,哈哈。

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

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

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

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

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

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

    restful 现在算是一个成熟的方案吗?比如网上经常说的流行浏览器对 PUT 和 DELETE 支持不好的问题,都有对应的解决方案没?
    globit
        25
    globit  
       Dec 9, 2015   ❤️ 1
    @nonesuccess 成不成熟估计轮不到我说,从我用的角度来说这样前后端分离,后端可以单独测试,因为后端比较稳定,所以这部分的工作就抽离出来了,对于项目的分工有好处。 看到你的情况说你是作为 leader 包揽了整个架构,情况和我差不多,所以推荐用这样的。 快速入门嘛, 我这里搭建了一个 springmvc + mybatis 的教学项目你可以参考下。 https://github.com/guoylyy/tiger-framework . 有问题可以和我多交流额,相互学习, 我邮件在 github 可以看到
    hqs123
        26
    hqs123  
       Dec 10, 2015
    安全稳定,后台数据尤为重要.
    7harryprince
        27
    7harryprince  
       Dec 17, 2015
    支付有 ping++啊,现在各种服务都有创业公司帮忙做好了,只要实现核心功能就可以了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1289 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 17:27 · PVG 01:27 · LAX 10:27 · JFK 13:27
    ♥ Do have faith in what you're doing.