微服务开发实战(一)

“微服务”是近期软件开发领域比较热门的概念,其最早出现在2014年3月著名架构师Martin Fowler所写的一篇文章(https://martinfowler.com/articles/microservices.html)中。在这篇文章里,Martin Fowler提到:微服务架构是一种以一组小的服务来替代开发单个大型应用的方法,这些服务运行在独立的进程中,使用HTTP API进行通信。这些服务围绕业务功能创建,可以通过全自动部署方式独立部署,可以用不同的编程语言编写,并使用不同的数据存储技术。

根据以上的定义,我们可以得出微服务的以下两个重要特征:

  1. 很小,专注与做一件事。
    微服务要多小才算小呢?关于这点,没有明确的标准。亚马逊的创始人贝佐斯曾经说过,任何用两个披萨喂不饱的团队都是太大了。那么,对于我这样的一口气可以吃掉一个披萨的吃货来说,如果一个服务需要2个以上的人来开发,就是太大了。一个服务只需要专注做一个方面的事情,比如说用户管理,购物车管理,账单管理等等,根据业务模型来划分成不同的小服务。将所有这些小服务组合起来,就是一个完整的大型应用。

  2. 自治性,彼此之间相互独立,可以单独修改和部署。
    一个微服务就是一个独立的应用程序实体,可以独立地作为一个操作系统的进程存在。不同的微服务可以部署到不同的服务器或者是虚拟服务器中。微服务会提供一组API,它们之间通过这些API进行通信。可以把微服务看成是一个小的应用,拥有自己完整的代码库。只要对外提供的API不变,那么修改代码和部署代码,都不会影响到其他微服务。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于“什么是微服务”的问题,其实并没有一个统一的认识。这些年在不同的场合里和不同背景的朋友都在探讨微服务。但聊得越...
    顾宇阅读 8,708评论 0 18
  • 资料来源:有架构给我的一些资料,以及自己百度和论坛、社区找来的一些资料,权当做一个总结式的简介。。。 目录如下: ...
    AlbenXie阅读 52,495评论 4 57
  • 不言简书阅读 3,682评论 2 5
  • 以前一直很崇拜一句话:每天叫醒你起床的是你的梦想,还不是闹钟。以为自己真的很有梦想,所以闹钟就不用了,结果常常睡过...
    worldlyf阅读 3,025评论 0 1
  • 雨,从短暂的睡眠中醒来 润湿了梦里的衣襟和 别在左胸口的文字 放下手中的笔,月季占据了窗台 我呆望一个人的名字,雨...
    卓尕2阅读 2,325评论 1 4

友情链接更多精彩内容