原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker容器来说什么是微服务(三)

上一节说了单体架构,单体架构也无法适应我们的服务,来说说微服务,看能否解决单体架构的问题。

什么是微服务

最近两,三年才出现的新名词,虽然时间还不是很长,几乎每个软件从业人员对它有影响,也都通过微服务,很多人都意识到微服务对软件行业的影响。

  • 定义

    使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程中,一般采用轻量级的通讯机制互联,并且他们可以通过自动化的方式部署。

  • 多微才算微
    1.代码量?

    可是我们语言不同,不同的语言写相同的业务可能代码量差距非常大。
    人来判断,实习期的开发人员和有5年以上开发经验的人员写的代码量也是有差距的。

2.开发时间?

影响开发速度的因素太多太多,个人的经验,擅长开发的语言,对业务的理解。

3.不可度量

实际是一种设计思路,设计思想,而不是固定的一个量

  • 微服务的特征
    1.单一职责

    订单和支付,登录和注册,跟其他业务不太紧密的可以单独做成一个服务邮件,短信服务。

2.轻量级通信

轻量级的通信协议,简单来说平台无关语言无关。http。

3.隔离性

每个微服务在自己的内存中,相互之间不会干扰。

4.有自己的数据

业务数据的独立性。每个都有自己的业务数据库,降低业务的复杂度

5.技术多样性

开发人员选择最适合的开发语言,提供出应有的api。

  • 微服务诞生背景
    1.互联网行业的快速发展

    技术变化快,用户数量变化快

2.敏捷开发。精益方法深入人心

用最小的代价,做最快的迭代,得到最有用的反馈。频繁的修改测试上线。

3.容器技术的成熟

容器技术没有成熟之前,微服务很难落地的,docker的出现解决了犹豫微服务数量的旁边运维的瓶颈。使微服务的落地成为可能。

PS:docker让微服务成为可能,感谢容器化技术的成熟!