大银行遵循面向服务架构的功能。 他们可能有50多个服务,所以他们将个人服务作为单独的服务器运行,还是将服务分组?
任何人都可以详细解释这个吗?
答案 0 :(得分:0)
根据SOA,每个服务应该能够独立地服务于服务,因此可以托管在单独的服务器上。 但是所有这些服务器应该在内部相互通信,因此整个系统都知道每个服务器提供的服务,外部世界在请求服务时可以访问单个端点。在内部,路由模块将识别提供特定服务并为其提供服务的服务器。
如果预期的负载很高,也可能有多个服务器提供相同的请求。
术语服务器也可能意味着运行时,如果服务是基于Java的,或者它也可能是一台机器,就像JVM一样。
根据维基:
每台计算机都可以运行任意数量的服务,每项服务都是 以确保服务可以交换信息的方式构建 与网络中的任何其他服务无人交互和 无需对底层程序本身进行更改。
通常,与相同代码库或DB服务器或其他应用程序服务器等通信的类似自然服务或服务被组合在一起。虽然可以单独提供大容量服务或长时间运行的服务来加速系统。
答案 1 :(得分:0)
面向服务的体系结构(SOA)的全部目的是为每个模块(作为服务公开)提供灵活性,使其具有部署自由,实现扩展,最少影响其他模块。因此,所有这些服务要么可以托管在具有不同端口的单个服务器上,要么可以位于不同的服务器上。
通常在大银行,会有一个团队拥有每个服务。每个服务都部署在不同的服务器上。实际上,每个服务可以部署在许多服务器上,以实现可伸缩性和容错性。
答案 2 :(得分:0)
通常,服务由企业服务总线托管,企业服务总线是一个组件,它将服务发布到组织的所有信息系统,也发布到外部B2B客户(通过B2B网关)。
ESB上托管的服务可能会利用后端系统提供的服务。后端系统的这些服务被视为私有,仅通过ESB使用。如果每个人都与任何人融合,这种方法可以消除意大利面条的混乱。
我遇到的大多数ESB系统都是具有HA数据库,应用服务器集群和负载均衡器的高可用解决方案,它们共同创建了一个平台,以确保服务的稳定性和性能。
企业中的服务数量可能非常大,我已经参与了数百项服务的项目,最大的企业可以运行数千项服务。