1. 基本定义
服务主要是指相对独立、功能内聚的一组业务,其数据自我包含,对外提供标准化的业务功能或业务数据接口。不同服务之间是松耦合的,而服务自身也能获得更好的复用。
服务化架构就是将原有的统一型架构按业务特点进行服务拆分,再通过服务注册以及企业服务总线将服务进行串联,从而构建出整个系统。
采用服务化架构会有如下一些优势:
功能解耦:
每个服务都是一个相对独立的单元,其主要功能都在服务内部实现,服务之间的耦合大为降低,当需求发生变化时,仅需要升级对应的服务即可;
动态部署:
单个服务可以根据自身的性能需求选择需要部署的节点数,在生产的过程中,也可以根据实际的用户使用情况进行动态调整;
高度复用:
采用服务化方式开发出来的服务,功能相对比较独立,可以在公司的不同产品间进行复用,而不用每个产品的相似功能都需要独立开发和部署。
1.1 服务和组件的区别
组件在功能上和服务有一定的相似性,都是完成一定的业务功能,都有内聚性。
两者不同之处主要在使用上,组件要求包含在业务系统内部,需要业务系统进行集成,如果组件的功能发生了修改,则所有引用此组件的业务系统都需要进行组件升级。而服务则是在业务系统外部独立部署的,业务系统仅需要调用服务的接口来完成功能即可,如果服务内部的功能发生了修改,只需将该服务升级即可,其余调用服务的业务系统并不需要修改。
1.2 服务和子系统的区别
服务和子系统在业务上都可完成一定的业务功能,都可对外提供接口接入。两者的区别主要还是在系统功能的独立性上,子系统可以独立的安装部署,提供完整的一块业务功能供用户使用,而服务则还是需要依托业务系统,它无法独立于业务系统或其他服务单独给用户使用。