微服务具有很长的历史,并不像许多人所认为的那么短。在90年代也没有发明SOA。Greg Young在近期在伦敦举行的微型服务会议上介绍了导致今天微观服务思想的核心思想,他们一直在服务五十年的服务核心思想。68806
Young指的是Martin Fowler对微服务的一些主要特征,最重要的是能够独立地替代系统中的服务,围绕业务能力的组织以及使用智能端点和哑管的能力,所有这些都是Young的注意事项SOA做的正确Young指出,在20世纪70年代的原始对象取向模型中,一个对象是一个小电脑,你发送消息并告诉它做事情。同一时期的Actor模型基于类似的概念,Actor是您通过邮箱发送邮件的小型计算机。两者都是微服务核心方面的前身;我们可能会改变我们的工具或邮件传输,但想法仍然是一样的。今天我们说SOA已经失败了,但微服务将会成功,但是Young声称SOA的基本概念没有任何错误。微服务的良好方面已经在SOA中。
看看过去50年来我们学到了什么,Young指的是分布式计算的第一条规定,除非我们真的需要,否则我们不应该分发系统。制作服务,然后将它们托管在同一台服务器中,甚至在相同的过程中没有任何问题。他声称,大多数系统,特别是较小的业务系统,不需要分发可扩展性,但是可以分发可用性。论文网
我们想要的是服务之间的隔离。当在同一台服务器中运行各自的进程时,我们保证遵守合同。更多隔离的一个步骤是在Docker容器内运行每个服务。这给了一个更多的隔离,因为更少的东西在服务之间共享。另一步是每个微服务器运行一个节点。
选择一定程度隔离的一个原因是处理相关故障。在同一进程中运行所有微服务器时,如果重新启动该进程,所有服务将被终止。通过在自己的进程中运行每个服务,如果重新启动该进程,则只有一个服务被杀死,但重新启动服务器将会终止所有服务。在自己的服务器上运行每个服务或两个服务器上的两个实例将允许重新启动服务器,而对每个服务的可用性影响较小。
这些隔离层中的每一层也具有与之相关的成本。与同一个服务器上的一个节点相比,在同一个服务器上运行的多个进程更容易处理。这些级别都不正确,其他的错误;而是关于权衡的一切。通过提高隔离度,还可以增加成本和复杂性。年轻人释义西蒙·布朗: “如果你不能管理在单个进程中构建一个整体,那么你认为将网络置于中间是什么呢?”
对于年轻人来说,这些类型的不同隔离的一个优点是,我们不必在前面做出决定,我们不必在开发中使用与生产相同的水平,他指出,这是一个主要的好处微服务风格建筑。
微服务国内外研究现状综述:http://www.751com.cn/yanjiu/lunwen_77510.html