一、什么是微服务
微服务就是一些协同工作的小而自治的服务。巨大的代码库难以维护,而微服务专注于小,有很强的内聚性。一个微服务是一个独立的实体,可以独立的部署在PAAS(Platform As A Service)上,也可以作为一个进程存在。服务间可以进行独立修改而互不影响。
1.主要好处
- 技术异构性
- 弹性
- 扩展
- 简化部署
- 与组织结构相匹配
- 可组合性
- 对可替代性的优化
2.面向服务的架构
SOA(Service-Oriented Architecture)是一种设计方法,其中包含多个服务,而服务之间通过配合提供功能,服务间通过网络调用。
3.其他分解技术
-
共享库:团队可以围绕库来进行组织,而库本身可以被重用。存在的缺点:无法选择异构技术;失去独立地对系统某一部分进行扩展的能力;使用非动态链接库时,每次更新需要重新部署。共享库使用于执行一些公共任务,这些代码不属于任何一个业务领域,可在组织中重用。
-
模块:OSGI(Open Source Gateway Initiative,开放服务网关协议)作为一个与具体技术相关的模块分解技术。其问题在于强调模块生命周期管理之类的事情,但语言没有足够支持。
网友评论