我是 SOA 领域的新手。因此,我正在研究一些“SOA 框架/技术”,并试图了解如何利用它们来构建一个高度可扩展的(Facebook 类)网站。
我想在这里解决几个“痛点”:
- 可组合性(+ 管理依赖项,Pub/Sub)
- 服务的语言无关
- 可扩展性和性能
- 高可用性
我研究了一些可以回答上述标准子集的技术:
- Thrift - Facebook 的跨平台 RPC 平台
- WCF - 支持 SOAP、JSON 和 REST,因此它可以被认为是语言互操作的。生成可用于生成 java 代理的WSDL文件。
- Microsoft DSS - 只是将它包含在我的调查中,但它似乎并不相关,因为它是高度状态驱动的和特定于 .NET 的。
- 网页服务
现在,我了解了如何从上述内容中获得可组合性和语言独立性的某些方面。但是,我还没有找到很多关于如何使用上述/其他工具来实现可扩展性和高可用性的具体信息(不是嗡嗡声)。所以最后我得到了我的问题:
如何利用 SOA 技术来解决我上面定义的问题?我在哪里可以找到这方面的技术指南?我寻找的不仅仅是系统图,而是实际的库、代码示例、APIS ......