编程笔记

lifelong learning & practice makes perfect

Building Event-Driven Microservices

中文翻译:<微服务与事件驱动架构>

第一章

要点

  1. 康威定律
  2. 微服务
  3. 事件驱动架构

Concept

  1. 康威定律: 设计系统的组织……受到约束,产生的设计是这些组织的沟通结构的副本

    Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. - Melvin Conway(1967)

    references:

    • 阿里肥侠文章:”微服务架构的理论基础 - 康威定律” https://developer.aliyun.com/article/8611

    • 康威定律详细介绍

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      第一定律
      Communication dictates design
      组织沟通方式会通过系统设计表达出来
      第二定律
      There is never enough time to do something right, but there is always enough time to do it over
      时间再多一件事情也不可能做的完美,但总有时间做完一件事情
      第三定律
      There is a homomorphism from the linear graph of a system to the linear graph of its design organization
      线型系统和线型组织架构间有潜在的异质同态特性
      第四定律
      The structures of large systems tend to disintegrate during development, qualitatively more so than with small ystems
      大的系统组织总是比小系统更倾向于分解
  2. 微服务

    The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services , which may be written in different programming languages and use different data storage technologies.
    – James Lewis and Martin Fowler

    Martin Fowler是国际著名的OO专家,敏捷开发方法的创始人之一,现为ThoughtWorks公司的首席科学家.福勒(Martin Fowler),在面向对象分析设计、UML、模式、软件开发方法学、XP、重构等方面,都是世界顶级的专家,现为Thought Works公司的首席科学家。Thought Works是一家从事企业应用开发和集成的公司。早在20世纪80年代,Fowler就是使用对象技术构建多层企业应用的倡导者,他著有几本经典书籍:《企业应用架构模式》、《UML精粹》和《重构》等。—— 百度百科

  3. 微服务问题
    微服务架构需要考虑的问题,包括

  • API Gateway
  • 服务间调用
  • 服务发现
  • 服务容错
  • 服务部署
  • 数据调用

欢迎关注我的其它发布渠道