《微软云计算Windows Azure开发与部署权威指南》——第6章 Windows Azure平台访问控制与总线AppFabric6.1 服务导向架构

本文涉及的产品
访问控制,不限时长
简介:

本节书摘来自异步社区《微软云计算Windows Azure开发与部署权威指南》一书中的第6章,第6.1节,作者: 尹成 , 郝庭毅 , 张俊强 , 孙奉刚 , 寇睿明 更多章节内容可以访问云栖社区“异步社区”公众号查看。

第6章 Windows Azure平台访问控制与总线AppFabric

6.1 服务导向架构

微软云计算Windows Azure开发与部署权威指南
什么是SOA(Service-Oriented Architecture,服务导向架构)?SOA的理念广为人知,然而其概念解释又有多种版本。本书认为SOA是为了满足组织机构的商业需求而建立的松耦合的体系结构。

需要读者注意的是,SOA注重架构而不是实现,它不是一门技术,而是一门设计哲学,很多人将面向服务的架构和面向服务的实现混淆。SOA并不强调实现的技术,如Web服务。虽然目前大部分组织机构采用Web服务来实现松耦合的体系架构,但这并不代表SOA必须使用Web服务。表6-1是微软MSDN上的一个表格,纠正了人们对SOA的一些常见的误解。


547b0b204c70c1baf2b6470cf7414ab541dd745e

如何理解这里的“服务”呢?服务既可以是操作系统的进程,也可以是使用定义良好的契约的应用程序,该应用程序可以基于Web服务,也可以不使用Web服务,但是该服务必须可以加入到一个松耦合的体系结构中。下面给出设计服务的4个准则。

1.边界明确
服务之间通过显示的消息传递进行交互,该消息跨越定义良好的边界。跨服务边界可能需要很大的开销。此处的边界指的是一个服务的公共接口和其内部私有实现之间的界限。一个服务的边界可以通过服务描述文档(WSDL)公开。

2.服务自治
各个服务是发布、更新和管理都互相独立的实体。服务自治并不意味着服务会成为孤岛,基于SOA的解决方案往往是不规则的,通过配置一些服务得到。实现自治服务的关键是隔离和去耦。各服务之间的设计和部署都是相互独立的,只通过契约驱动的消息交互。

3.服务之间共享数据定义模式和契约,而不是类
服务交互只能通过服务策略、模式和基于契约的行为。大多数开发人员使用类来代表问题空间中的不同实体。类将数据和行为绑定到一种编程语言或者特定的平台结构。服务要将这种模型分开以最大化灵活性和互操作性。使用XML这种基于模式的消息进行交互的服务对程序语言和平台而言都是透明的。模式定义了消息对的结构和内容,而契约定义了服务自身的行为。

4.基于策略的服务兼容性
虽然人们对这条设计原则了解最少,但在实现Web服务灵活性方面该原则作用非常强大。仅仅通过一个服务描述文档WSDL是不能表达完整对服务交互的要求的。策略表达式可以将结构兼容性与语义兼容性分离开来,它提供了一个可配置的包含一系列交互语义的集合来控制某个特定服务的行为和期望值,服务提供者可以使用机器可读的策略表达式来表明操作要求。

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
1月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
43 3
|
2月前
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
1月前
|
云安全 存储 监控
云计算安全:AWS与Azure的安全策略与实践比较
【10月更文挑战第26天】本文详细比较了AWS和Azure在安全性方面的策略和实践,涵盖身份与访问管理、数据加密与保护以及安全监控与响应。通过代码示例展示了两家云服务提供商在实际应用中的具体操作,帮助企业在选择云服务时做出明智决策。
51 0
|
3月前
|
存储 Linux KVM
Proxmox VE (PVE) 主要架构和重要服务介绍
Proxmox VE (PVE) 是一款开源的虚拟化平台,它基于 KVM (Kernel-based Virtual Machine) 和 LXC (Linux Containers) 技术,支持虚拟机和容器的运行。PVE 还提供高可用集群管理、软件定义存储、备份和恢复以及网络管理等企业级功能。
1371 7
|
8天前
|
消息中间件 存储 安全
分布式系统架构3:服务容错
分布式系统因其复杂性,故障几乎是必然的。那么如何让系统在不可避免的故障中依然保持稳定?本文详细介绍了分布式架构中7种核心的服务容错策略,包括故障转移、快速失败、安全失败等,以及它们在实际业务场景中的应用。无论是支付场景的快速失败,还是日志采集的安全失败,每种策略都有自己的适用领域和优缺点。此外,文章还为技术面试提供了解题思路,助你在关键时刻脱颖而出。掌握这些策略,不仅能提升系统健壮性,还能让你的技术栈更上一层楼!快来深入学习,走向架构师之路吧!
43 11
|
1月前
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
2月前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
1月前
|
云安全 存储 监控
云计算安全:AWS与Azure的安全策略与实践比较
【10月更文挑战第27天】本文对比分析了AWS和Azure在云计算安全领域的策略与实践,涵盖技术、定价、混合云工具等方面。通过代码示例展示了如何在两个平台上实施安全措施,如监控告警、数据加密和身份管理。总结了两者的优缺点,帮助读者根据具体需求选择合适的云服务提供商。
47 4
|
1月前
|
人工智能 Kubernetes 安全
通过阿里云计算巢部署NVIDIA NIM,加速企业大语言模型SaaS化
在人工智能飞速发展的今天,大语言模型(LLM)为各个行业带来了全新的场景和机遇。诸如客户服务数字人,计算机辅助药物研发的生成式虚拟筛选,基于检索增强生成(RAG)的企业多模态PDF数据提取,网络安全流数据过滤、处理和分类优化等工作流,正在无缝集成和运行在定制化的企业AI应用,企业还能够基于专有业务数据和用户反馈数据,不断优化AI应用。
|
1月前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。

热门文章

最新文章