SOA、ESB、微服务的一点总结

看书不分享,对于知识的掌握总是一知半解,很多东西都是看了之后就忘了,但是和很多朋友以及专家沟通之后,发现写读书笔记不仅是自己对于知识的分享和总结,更重要的是通过读书笔记,能够使自己对于知识进行梳理,使知识形成体系化,同时也能够与行业的朋友进行交流,好处多多,开始总结一下关于SOA、微服务、ESB之间相关的一些内容。

SOA(Service Oriented Architecture)面向服务的架构,是一种设计理念,其中包含多个服务,服务之间通过相互依赖,最终提供一系列完整的功能,各个服务通常以独立的形势部署运行,通过网络或者其他接口进行调用,支撑SOA的关键是其消息传递架构--ESB(企业服务总线)。

ESB(Enterprise Service Bus)企业服务总线,是传统中间件技术与XML、Web服务等技术结合的产物,ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素,可以提供可靠的、有保证的消息技术的最新方法,ESB的概念是从SOA发展而来的,SOA描述了一种IT基础设施的应用集成模型,其中的软构件集是以一种定义清晰的层次化结构相互耦合,一个ESB是一个预先组装的SOA实现,包含了实现SOA分层目标所必需的基础功能组件。

1、ESB的出现改变了传统的软件架构:可以提供比传统中间件更廉价的解决方案,同时还可以消除不同应用之间的技术差异, 让不同的应用服务器协调运作,实现不同服务之间的通信整合。从功能上看ESB提供了基于事件驱动和文档导向的处理模式,以及分布式的运行管理机制,支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列标准接口;

2、ESB的用处:ESB不是万能的,也不是一个企业应用的解决方案,只是一个基于消息的调用,企业服务的通信模块,可以把他嵌入到应用程序框架中,例如嵌入到Spring容器中,或者嵌入到工作流系统中,对企业里面的SOA服务的调用提供一个框架和简便方法;

3、ESB的应用特征:大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂的、繁琐的企业级信息系统平台,SOA能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来,使用户可以不受限制的复用软件、把各种资源互连起来,只需选用标准接口包装旧的应用程序、把新的应用程序构建成服务,其他应用系统就可很方便的使用这些功能服务;

ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,完成粗粒度应用(服务)和其他组件之间的互操作,满足大型异构企业环境的集成需求,可以在不改变现有基础架构的情况下让几代技术实现互操作。

微服务架构和SOA架构非常类似,微服务只是SOA的升华,只不过微服务强调的是“业务需要彻底的组件化和服务化”,原单个业务系统会被拆分成多个可以独立开发、设计、部署运行的小程序,通过服务化完成交互和集成,组件表示的是一个可以独立更换和升级的单元,独立且可以更换升级而不影响其他单元。

微服务的特征:1、通过服务实现组件化;2、按业务能力来划分服务和开发团队;3、去中心化;4、基础设施自动化(devops、自动化部署);微服务不再强调传统SOA架构里比较中的ESB企业服务总线,同时以SOA的思想进入到单个业务系统内部实现真正的组件化。

你可能感兴趣的:(SOA、ESB、微服务的一点总结)