Architecture 大型应用程序体系结构

Architecture 大型应用程序体系结构,architecture,soa,Architecture,Soa,我正在尝试用至少16或20个模块来构建一个大型.NET应用程序,我正在使用面向服务的体系结构SOA来实现它,因此目前我只有4个服务为一个模块实现 四项服务中的一项是核心服务,我需要将其包含在每个模块中,因为它包含例如日志、安全等内容。我可以将其包含在每个新服务中 我面临着很多问题,我需要一个建议 我是将我所有的类库放在一个解决方案中,还是将它们分别放在多个解决方案中?目前我大约有40个类库 对于数据库我现在有一个数据库,我是否也要将数据库分开,还是将其放在一个数据库中 任何帮助我架构师使用我的应

我正在尝试用至少16或20个模块来构建一个大型.NET应用程序,我正在使用
面向服务的体系结构SOA
来实现它,因此目前我只有4个服务为一个模块实现

四项服务中的一项是
核心服务
,我需要将其包含在每个模块中,因为它包含例如
日志、安全等内容。
我可以将其包含在每个新服务中

我面临着很多问题,我需要一个建议

  • 我是将我所有的
    类库放在一个解决方案中,还是将它们分别放在多个解决方案中?目前我大约有40个类库
  • 对于
    数据库
    我现在有一个数据库,我是否也要将数据库分开,还是将其放在一个数据库中

  • 任何帮助我架构师使用我的应用程序来考虑使用<代码> SOA和高维修性的指导也不会混淆开发团队与这个大的建筑师

    < P>我不确定我得到你的问题100%。然而,SOA服务(以及最近的微服务)是自包含且松散耦合的。实际上,这通常意味着服务在不同的条件下发展,并且应该在不同的条件下进行部署/测试。我相信你的项目结构应该反映这一点

    我个人会为每个服务选择两个模块。模块A将是一个接口规范,可以在依赖于服务的其他模块中使用。模块B将是服务实现。我将为每个项目/解决方案提供一项服务,由这两个模块组成

    对于数据库:我认为每个服务都应该对自己的数据库负责。当然,您可以在服务之间共享数据库服务器,但是每个服务都应该管理自己的数据库,或者至少管理这台计算机上的模式。数据库中不同服务的数据之间不应有外键关系或其他依赖关系,因为这些数据是通过服务间通信处理的