SpringCloud (一) :微服务架构

什么是微服务架构

简而言之,微服务架构气概就是将单一应用的开发分为多个小的服务,每个小的服务在自己的历程中运行并使用轻量级机制举行通讯(通常是一个HTTP API源),这些服务围绕营业性能举行构建,而且通过完全自动化的部署机制自力的部署。这些只需要最低限度的集中治理的服务,可以使用差别的编程语言编写,以及使用差别的数据存储手艺。—- Martin Fowler的博客

( 单体架构 )

SpringCloud (一) :微服务架构

( 微服务架构 )

SpringCloud (一) :微服务架构

 

微服务架构优点

  • 解决了代码臃肿的庞大问题。它把可能会变得重大的单体应用程序分解成一套服务。虽然功效数目稳定,然则应用程序已经被分解成可治理的块或者服务,个体服务能被更快地开发,并更容易明白与维护。

  • 支解明确,使得保持团队之间的界线变得容易。微服务架构使整个系统的分工加倍明确,责任加倍清晰,每小我私家专心卖力为其他人提供更好的服务。在单体应用的时代,公共的营业功效经常没有明确的归属。最后要么各做各的,每小我私家都重新实现了一遍;要么是随机一小我私家做到他卖力的应用内里。

  • 服务可以自力部署。若是你的应用由单个历程中的多个库组成,则对单个组件的任何更改都将导致不得不重新部署整个应用。然则,若是将应用分解为多个服务,你可以期望单个服务的更改只需要重新部署该单个服务即可。

微服务架构瑕玷

  • 微服务架构整个应用涣散成多个服务,定位故障点异常难题。

  • 稳定性下降。服务数目变多导致其中一个服务泛起故障的概率增大,而且一个服务故障可能导致整个系统挂掉。事实上,在大接见量的生产场景下,故障总是会泛起的。

  • 服务数目异常多,部署、治理的工作量很大。

  • 服务拆分后,险些所有功效都市涉及多个服务。原本单个程序的测试变为服务间挪用的测试。测试变得加倍庞大。

 

微服务架构四大问题

  1. 客户端若何接见这么多的服务器

    通过API网关

    一步一步教你PowerBI数据分析:制作客户RFM数据分析

  2. 服务与服务之间若何通讯

    同步通讯-HTTP/RPC

    异步通讯-新闻行列 kafka RabbitMQ RocketMQ

  3. 这么多服务,若何治理

    服务治理

    服务注册与发现

    • 基于客户端的服务注册与发现 Apache Zookeeper

    • 基于服务端的服务注册与发现 Netflix Eureka

  4. 服务挂了,怎么办

    • 重试机制

    • 服务熔断

    • 服务降级

    • 服务限流

 

我的小我私家博客站

 

原创文章,作者:dddof新闻网,如若转载,请注明出处:https://www.dddof.com/archives/9148.html