Title Date Modified Category
micros 2019-05-29 12:00 2019-05-29 12:00 micros

1. MicroService

1.1. 概述

微服务是一种软件架构模式,用来把大而重的应用程序切成许多可管理的、可管理的独立服务,各服务之间的通信并不受不同语言的协议影响,每个服务只管做好一件事情。

1.1.1. 微服务设计的理念:

  • 各服务要小 - 单一的业务目标应该是要细粒度,就像Unix的”只做一件事并且要做好”理念。
  • 组织文化要包含部署与测试的自动化,这个降低管理与操作的负担。
  • 设计原则要包含失败与错误,就像抗脆弱的系统。

1.1.2. 为什么要使用微服务

随着组织的扩大,使用的技术和员工的数量都在增加,管理单一代码实现的服务,只会变得越来越复杂。

1.1.3. 微服务特点,如下所述。

  • 在结构上,将原有的从技术角度拆分的组件,升级为从业务角度拆分的独立运行的服务,这些服务具备各自的实现平台,并且独占自有数据,在服务之间以智能端点和哑管道的方式通信。
  • 在工程上,从产品而非项目的角度进行设计,强调迭代,自动化和面向故障的设计方法。

1.1.4. 微服务带来的问题。

微服务架构在很大程度上提高了应用的伸缩性,方便了部门或业务之间的协作,使技术岗位能够更好地引入新技术并提高自动化程度,最终达到减耗增效的目的,然而和所有新方法一样,微服务架构在解决老问题的同时,也带来了一些新问题,例如:

  • 实例数量急剧增长,对部署和运维的自动化要求更高。
  • 用网络调动代替内部API,对网络这一不可靠的基础设施依赖增强
  • 调用链路变长,分布式跟踪称为必选项目
  • 日志分散严重,跟踪和分析难度加大
  • 服务分散,受攻击面积更大
  • 在不同的服务之间存在协作关系,需要有更好的跨服务控制协调能力
  • 自动伸缩,路由管理,故障控制,存储共享,等等。

1.2. todos demo

TODO

1.3. 参考资料

results matching ""

    No results matching ""