Docker Swarm入门(三)Swarm SOA举例
Docker Swarm带来的最令人兴奋的东西之一是用非常小的经费就能构建一个现代化的,有弹性的以及灵活的架构.用户能够与由Docker主机构建的多样化的集群交互,就好像是与一台集成了现有工具链的主机进行交互一样.用户可以构建她们所需要的全部服务层,之后用一个精美而简单的方式来创建SOA(Service-oriented architecture面向服务的架构).
什么是SOA?
“面向服务的架构”表达了一种软件架构的概念,它定义为使用服务来满足软件用户的需要.在SOA环境中,网络上的节点以独立服务的形式将自己的资源开放给网络上其他参与者,其他参与者按照一种标准的方法使用资源.
SOA不是一种具体的架构,它是能够导出某种具体架构的东西,你可以将它叫做一种风格,范式,概念,观点,哲学,或者表示法.这也意味SOA不是一种可以买到的具体工具或框架.他是一种说法,是一种思想.
SOA的核心
SOA的目的是实现和维护跨越了大型分布式系统的业务流程.
SOA的核心有以下三个
服务,互操作性,松耦合.
为什么要引入SOA?
咱们先来看看大型分布式系统的特定:
1.大型系统必须能够处理老系统(引入SOA时,你很难从头开始设计).
2.大型系统天生就是异质的.它们的目的不同,时间各异,新旧程度相差悬殊;大型系统堆积了不同平台,不同的语言,不同的编程范式.
3.异质性的一大原因就是因为大型系统和他们的数据有非常长的声明周期.在这个过程中,他们不断加入新的系统和流程,开发新的业务功能.
4.大型系统天生就是复杂的.而且,人天生不擅长解决复杂的问题,通常采取的方式就是分解.
5.所有者各异.不同的团队,部门,分支结构或公司都可能在维护系统.
6.冗余度.
面对大型系统,SOA接受异质的,SOA正是靠对异质性的承认和主持来处理大系统的.
这么长时间依赖,人们一直在探讨如何才能消除异质性,解决继承集成分布式系统碰到的问题.比如,把所有的系统都换成J2EE应用,数据库统一,但是这些方法肯定不行.大型系统天生就是异质的,这是事实.
我用了以上这么点内容简单的说明了一下SOA的由来和能够解决的问题.