微服务与云原生

Posted Hetiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微服务与云原生相关的知识,希望对你有一定的参考价值。

随笔随想

说起微服务,可能困扰大家最多的两个问题是:

  1. 究竟得多“微”才算是微服务?

  2. 微服务到底应该如何拆分?

一个概念并不能像数学公式一样被精确定义,不管如何表述都不严谨。我们不需要去纠结概念本身,微服务只是手段,反过来我们需要重点关注微服务能够解决什么问题。微服务让云原生成为可能,或者说云原生才是微服务的最终目标。那么云原生包括哪些重要的特性呢?

  • 速度:业务需要快速创新,软件需要快速交付

  • 弹力:除了快速,还必须稳定,故障隔离、冗余与迁移、自动恢复等能力必是不可少的

  • 弹性:容量不断上涨,需求不断增加,系统需要支持水平扩容

实现上述目标的手段,如果用一个词形容,那就是“分治”,不管是SOLID,还是SDP、DRY、YAGNI等设计原则,都是在“分”和“合”之间取得平衡。微服务同样是在践行“分而治之”的模块化思想,只是把边界扩大到进程之外,以提供最大化的隔离、复用和扩展能力;同时,为避免不合理的网络通信(设备与设备)、信息协调(人与人),又必须具备做好且仅做好一件事的自治能力。


以上是关于微服务与云原生的主要内容,如果未能解决你的问题,请参考以下文章

云计算与云原生 — 微服务架构 Kong APIGW 完全解析

云原生时代,微服务如何演进?

云原生如何助力微服务?

12-Factor与云原生

申通的云原生实践之路:如何实现应用基于容器的微服务改造?

Java工程师需要学习云原生吗?