多模块应用程序体系结构
问题描述:
我想设计一个核心和多个模块的核心应用程序。核心有责任接收来自网络的消息,解析传入的消息并将消息分发给已注册的模块。多模块应用程序体系结构
消息有多种类型,有些模块可能有兴趣只接收一些类型。这些模块可以并行执行,也可以按顺序执行(例如,当模块与定义良好的执行顺序相互依赖时)。
另外,如果即使内核启动,模块也可以部署/取消部署,那将会很不错。
这对我来说是全新的,我用来编写模块化应用程序,但是用多个部件静态连线。
对于这样的设计,我应该选择哪个方向(即框架,模式...)?我不知道它是否与我的问题有关,但我确切地说我会使用Java。
感谢
答
您有在
architecture level
一个很不错的办法。但是,只有当您的应用程序layers/tire
将处于不同的实例时才会有所帮助,以便关闭一个module/server
,而其他零件仍将继续运行。要点是你会在不同的实例上运行模块吗?其次,我想建议你建立使用Web-Service要么REST/SOAP应用核心架构,因为它会自动实现你以为如下Service Oriented Architecture (SOA)。这将是
producer - consumer
关系,您可以在单独的实例上运行。在部署/取消部署时,您仍然可以运行服务部分以支持其他客户端实例。使用Web服务还将为您提供一个全球信息交换系统,可能与多个应用程序视图/前端进行通信。
我不认为我可以在我的情况下使用Web服务,因为传入的消息将像SIP,DNS ...此外,核心应该提供高性能。我想过使用Netty。你是什么意思分开的实例? – 2012-07-10 11:44:16