.net core 微服务架构技术栈

416 阅读2分钟

本人在多家企业工作,经历了不同架构方式的微服务开发,因此就自己对微服务的粗浅认识,编写本文,希望能帮助想改造自身已有架构转投微服务架构的企业,或从头构建自己的微服务架构平台的企业走向成功。

 

微服务的概念

微服务(Microservice)概念据说是在2012年出现,其一出现就对互联网行业产生了巨大影响,因为其理念刚好符合“分而治之”的思想,在日益巨大化的互联网行业内,不免逐步产生了无法把控的思绪混乱,而“微”刚好能解决这个痛点。

微服务的精髓

“分而治之”是微服务的精髓!理解了这个精髓,就可以如庖丁解牛般设计你的系统架构。每个相对独立的业务均可拆分为微服务,微服务高度自治,数据、缓存、接口都是自我管理的,不要麻烦别的服务区管理,微服务间的通信一般约定为接口间的通讯和异步消息的通讯。微服务和微服务组合共同提供外部的接口,已形成更大的服务。

微服务的复杂度

由于把许多独立的业务拆成不同的微服务,因此带来的微服务构建的复杂度,一般表现为下列几点:

  1. 微服务的注册和发现
  2. 微服务的部署和弹性伸缩
  3. 微服务间的通讯
  4. 微服务间通讯的效率
  5. 微服务间的事务性(ACID)
  6. 微服务的对外网关、限流熔断
  7. 微服务的全局配置
  8. 微服务的认证授权(OAuth2)
  9. 微服务间的异步通讯、消息
  10. 微服务的日志
  11. 微服务的监