微服务

领域驱动设计 : 用代码呈现真实世界的重要性,并且告诉我们如何更好地进行建模

持续交付理论 : 告诉我们如何更有效及更高效地发布软件产品,并指出保持每次提交均可发布的重要性

六边形架构理论 :

参考:http://www.cnblogs.com/Leo_wl/p/4418663.html

什么是微服务

微服务就是一些协同工作的小而自治的服务。

  • 服务应该多小

微服务将单一职责原则应用在独立的服务上,根据业务的边界来确定服务的边界。

如果你不再感觉你的代码库过大,可能它就足够小了。

该服务是否能够很好地与团队结构相匹配。如果代码库过大,一个小团队无法正常维护,那么很显然应该将其拆成小的。

  • 自治性

一个微服务就是一个独立的实体。

主要好处

技术异构性

弹性

如果系统中的一个组件不可用了,但并没有导致级联故障,那么系统的其他部分还可以正常运行。

扩展

简化部署

与组织结构相匹配

可组合性

在微服务架构中,系统会开放很多接缝供外部使用。当情况发生改变时,可以使用不同的方式构建应用,而整体化应用程序只能提供一个非常粗粒度的接缝供外部使用。

对可替代性的优化

微服务架构的团队可以在需要时轻易地重写服务,或者删除不再使用的服务。

面向服务的架构

SOA(Service-Oriented Architecture,面向服务的架构)是一种设计方法,其中包含多个服务,而服务之间通过配合最终会提供一系列功能。

由于我们对项目的系统和架构有着更好的理解,所以能够更好地实施SOA,而这事实上就是微服务架构。就像认为XP或者Scrum是敏捷软件开发的一种特定方法一样,你也可以认为微服务架构是SOA的一种特定方法。

转载请注明:转载自srzyhead的博客(https://srzyhead.github.io)

本文链接地址: 微服务设计 (1-微服务)