请选择 进入手机版 | 继续访问电脑版
设为首页 收藏本站
开启辅助访问 切换到宽版

新浪微博登陆

只需一步, 快速开始

QQ登录

只需一步,快速开始

切换风格 立即注册 找回密码

Java教程网

新浪微博达人勋

597

积分

246

帖子

80

贡献

Rank: 4

积分
597
发表于 2018-7-31 21:00:24 | 显示全部楼层 |阅读模式
什么是SOA



SOA(Service-Oriented Architecture)面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。

SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。

SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。



区别



SOA
SOA的提出是在企业计算领域,就是要将紧耦合的系统,划分为面向业务的,粗粒度,松耦合,无状态的服务。服务发布出来供其他服务调用,一组互相依赖的服务就构成了SOA架构下的系统。

基于这些基础的服务,可以将业务过程用类似BPEL流程的方式编排起来,而BPEL反映的是业务处理的过程,这些过程对于业务人员更为直观,调整也比hardcode的代码更容易。

当然企业还需要对服务治理,比如服务注册库,监控管理等。

我们知道企业计算领域,如果不是交易系统的话,并发量都不是很大的,所以大多数情况下,一台服务器就容纳将许许多多的服务,这些服务采用统一的基础设施,可能都运行在一个应用服务器的进程中。虽然说是面向服务了,但还是单一的系统。

微服务
而微服务架构大体是从互联网企业兴起的,由于大规模用户,对分布式系统的要求很高,如果像企业计算那样的系统,伸缩就需要多个容纳续续多多的服务的系统实例,前面通过负载均衡使得多个系统成为一个集群。

但这是很不方便的,互联网企业迭代的周期很短,一周可能发布一个版本,甚至可能每天一个版本,而不同的子系统的发布周期是不一样的。

而且,不同的子系统也不像原来企业计算那样采用集中式的存储,使用昂贵的Oracle存储整个系统的数据,二是使用MongoDB,HBase,Cassandra等NOSQL数据库和Redis,memcache等分布式缓存。

那么就倾向采用以子系统为分割,不同的子系统采用自己的架构,那么各个服务运行自己的Web容器中,当需要增加计算能力的时候,只需要增加这个子系统或服务的实例就好了,当升级的时候,可以不影响别的子系统。这种组织方式大体上就被称作微服务架构。

微服务与SOA相比,更强调分布式系统的特性,比如横向伸缩性,服务发现,负载均衡,故障转移,高可用。互联网开发对服务治理提出了更多的要求,比如多版本,比如灰度升级,比如服务降级,比如分布式跟踪,这些都是在SOA实践中重视不够的。

Docker容器技术的出现,为微服务提供了更便利的条件,比如更小的部署单元,每个服务可以通过类似Node.js或Spring Boot的技术跑在自己的进程中。可能在几十台计算机中运行成千上万个Docker容器,每个容器都运行着服务的一个实例。随时可以增加某个服务的实例数,或者某个实例崩溃后,在其他的计算机上再创建该服务的新的实例。

来自群组: java开发组

新浪微博达人勋

6619

积分

1654

帖子

1655

贡献

Rank: 8Rank: 8

积分
6619

社区QQ达人

发表于 2018-7-31 21:01:22 | 显示全部楼层
看起来好像不错的样子

新浪微博达人勋

3013

积分

747

帖子

747

贡献

Rank: 8Rank: 8

积分
3013
发表于 2018-8-15 06:58:54 | 显示全部楼层
我了个去,顶了

新浪微博达人勋

6666

积分

1665

帖子

1667

贡献

Rank: 8Rank: 8

积分
6666

社区QQ达人

发表于 2018-8-19 06:43:57 | 显示全部楼层
是爷们的娘们的都帮顶!大力支持

新浪微博达人勋

3016

积分

756

帖子

753

贡献

Rank: 8Rank: 8

积分
3016
发表于 2018-8-19 15:55:50 | 显示全部楼层
为了三千积分!

新浪微博达人勋

7219

积分

1861

帖子

1764

贡献

Rank: 8Rank: 8

积分
7219

社区QQ达人最佳新人活跃会员热心会员灌水之王突出贡献

发表于 2018-8-21 07:55:33 | 显示全部楼层
前排支持下

新浪微博达人勋

6604

积分

1651

帖子

1651

贡献

Rank: 8Rank: 8

积分
6604
发表于 2018-8-25 12:33:00 | 显示全部楼层
我只是路过,不发表意见

新浪微博达人勋

2918

积分

728

帖子

730

贡献

Rank: 6Rank: 6

积分
2918

社区QQ达人

发表于 2018-8-26 05:24:37 | 显示全部楼层
鄙视楼下的顶帖没我快,哈哈

新浪微博达人勋

6583

积分

1645

帖子

1646

贡献

Rank: 8Rank: 8

积分
6583
发表于 2018-8-27 17:23:05 | 显示全部楼层
呵呵,低调,低调!

新浪微博达人勋

2931

积分

736

帖子

731

贡献

Rank: 6Rank: 6

积分
2931

社区QQ达人

发表于 2018-8-29 19:40:43 | 显示全部楼层
前排支持下了哦~
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋|手机版|Archiver|Java教程网    

GMT+8, 2019-8-22 04:13 , Processed in 1.441510 second(s), 42 queries .

Powered by Discuz X3.2

© 2001-2013 JAVA教程网

快速回复 返回顶部 返回列表