springcloud小伙伴们应该都听说过,这是目前最火的分布式架构之一,今天我们就来详细了解一下它的架构及细节吧。
微服务架构
优点:
a可以通过服务的原子化拆分及微服务的独立打包,部署和升级,能使小团队的交付周期缩短,运维成本大幅度下降。
b遵循单一原则,微服务间采用Restful等轻量协议传输
缺点:
a微服务过多,导致服务治理成本极高,不利于系统维护
b分布式系统开发技术成本高
SOA
SOA,全称为Service-Oriented Architecture,即面向服务架构,它能够根据需求通过网络对松散耦合的粗粒度应用组件(服务)进行各种分布式部署、组合和使用,一个服务通常以独立的形式存在与操作系统进程中。
以功能的角度来看,把业务逻辑抽象成可复用、可组装的服务,然后通过服务的编排实现业务的快速再生;目的:把原先固有的业务功能转变为通用的业务服务,实现业务逻辑的快速复用。
通过以上描述我们发现SOA有如下几个特点:
分布式、可重用、扩展灵活、松耦合
当垂直应用越来越多时,应用之间交互是不可避免的,这时,将核心业务抽取出来,作为独立的服务,形成逐渐稳定的服务中心,就可以使前端应用更快速的响应多变的市场需求。
优点:
a能够抽取公共的功能为服务,极大的提升开发效率
b能对不同的服务间进行集群化部署解决系统压力
c可以基于ESB/DUBBO减少系统耦合
缺点:
a抽取服务粒度较大
b服务提供方与调用接口耦合度较高
以上就是关于springcloud的所有内容了,还需要了解更多java项目中常见问题,就来关注本站了解答案吧。
推荐阅读: