Database 企业解决方案的体系结构

Database 企业解决方案的体系结构,database,architecture,cluster-computing,Database,Architecture,Cluster Computing,我将要开发一个相当大的系统,它需要具备一个大系统的所有“品质”。该系统将在金融领域,因此需要一些强制性的东西(99.999%,故障转移,负载平衡等)。该系统与其说是一个“web”应用程序,不如说是一个交换机 我一直在做分配的研究。。。特别是当前的大型系统,如twitter、ebay、亚马逊、facebook等,但不幸的是,它们大多基于网络。我选择了Java根目录,因为我非常精通该语言,尽管我对任何新事物都持开放态度 我花了几个小时在Stack overflow上阅读,我收集到的一件事是没有“银弹

我将要开发一个相当大的系统,它需要具备一个大系统的所有“品质”。该系统将在金融领域,因此需要一些强制性的东西(99.999%,故障转移,负载平衡等)。该系统与其说是一个“web”应用程序,不如说是一个交换机

我一直在做分配的研究。。。特别是当前的大型系统,如twitter、ebay、亚马逊、facebook等,但不幸的是,它们大多基于网络。我选择了Java根目录,因为我非常精通该语言,尽管我对任何新事物都持开放态度

我花了几个小时在Stack overflow上阅读,我收集到的一件事是没有“银弹”。该系统需要根据我的需要进行微调/开发

这就是我目前的心态和想法

数据库

我对Mysql 7及其集群功能印象深刻。我将创建一个由几台机器组成的Mysql集群。然后,使用异步主-从复制将该集群复制到另一台异地计算机。mysql集群将由mysql负载平衡器前置。NoSQL根可能更好吗

负载平衡

HAProxy看起来很棒,但我可能会满足于硬件解决方案

应用程序

在使用了许多不同的AS服务器(Glassfish、JBoss和其他一些服务器)之后,我得出结论,j2EE限制了我在一些事情上的能力,这些事情会导致后续问题(请参阅)。我正在寻找的是一个java框架,它使我能够模块化代码。基本上编写“jar”/模块,这些模块可以分布到负载平衡和故障切换的机器集群中

例如,假设我有模块A和模块B。我希望能够在两台机器上部署这两个模块,或者在一台机器上部署模块A,在另一台机器上部署模块B。以及模块A到B的负载平衡(如果B在一台或多台机器上)。这是由glassfish3和EJB实现的吗?我喜欢向外扩展而不是向上扩展的想法,我宁愿集群中有50台机器,而不是X台规格疯狂的机器(我想是谷歌的思维方式) 我想从头开始做,但重新发明轮子是我的第二选择

缓存

我正在寻找hazelcast的内存缓存,因为我对该解决方案印象最深

任何输入、反馈、链接、关键字或指南都将不胜感激:)我也不介意非免费解决方案

编辑:我应该填写杰里米指出的缺失细节:

  • 我指的是类似于贝宝的东西
  • 可能会有大量(我无法估计)
  • 技能和预算不起作用,因为幸运的是我有资源
    这里的任何人在没有理解的情况下几乎不可能给出有说服力的建议

    • 您正在构建的应用程序类型(“交换机”?)
    • 你为谁建造它-有多少人?他们如何使用它
    • 开发团队的技能
    • 该系统的预算
    然而,看起来您决定的是像Amazon AWS这样的云供应商提供的开箱即用的东西——一个松散耦合、负载平衡、高可用的基础设施


    根据您的编辑进行编辑:

    • 不要自己构建基础设施。亚马逊和微软等其他公司已经解决了这一问题。特别是亚马逊的解决方案是PCI兼容的,可以立即提供您需要的“五个9”,而无需您做任何事情

    • 相反,关注应用程序将做什么,以及它将如何可靠地、可扩展地完成它

    在这个阶段,我建议至少雇佣几名顾问,为期几周。让他们将三到四种可选的应用程序体系结构组合在一起。预算1000美元/天/顾问最低,以获得知道他们在谈论什么的人


    而且,请记住,你不会从这样一个免费网站上得到明智的答案或指导。如果你真的想打造一个“PayPal杀手”,你就需要向参与过这类项目的人征求意见。这要么是咨询顾问的预付款,要么是技术联合创始人的权益。

    你似乎太在意技术选择了,这是一个问题。更好地关注应用程序的核心域(用DDD术语)


    另外,我也不太关心可扩展性问题。首先构建有用的解决方案要容易得多,只有这样,一旦证明它是有用的,才能开始扩展。否则,您就有可能把所有的钱都投资到为无用的应用程序构建可扩展的体系结构上。

    您是对的。我一直含糊不清。我将编辑填补空白空白:请考虑您可能不允许处理您的数据云服务。和你的客户核实一下。根据您将要处理的数据类型(最终客户数据?),他可能对托管和数据中心位置有严格要求,尤其是在金融领域。我支持adivce让领域专家加入。如果你不这样做,那么你要建立的第一个系统就是为了学习。你会放弃它,重新开始。至少有很好的可能性:-)财务?你一开始就错了——要“真实”。mySl 7 clsuter好吗?99.999的笑话真不错。打电话给甲骨文。3-4个完全冗余的Exadata qurter机架系统应该是良好的-第一个百万花费。两个数据中心中至少有两台机器,顺便说一句-具有高速互连。体系结构的其余部分也有类似的问题。我发布消息的确切原因如下:我会打电话给他们询问。我有这样的预算。我自己做财务工作——这是一台巨大的机器。他们也有所有oracle的正常运行时间的好东西。。。。现在是前端,我通常会使用