.net Core 微服务架构技术栈


一、微服务的概念

  微服务概念据说是在2011到2012年时候出现的,具体时间不清楚了,大家可以私下去了解一下,当时一出现就对互联网产生巨大影响,博主每每都能听到同事或同行的讨论,咱们继续往下说,微服务因其理念刚好服务“分而治之”的思想,在互联网行业内,很多家公司难免不存在一个超过10年之久的程序,经过几代人的维护,显得过于冗余和庞大,后来的人在对系统不熟悉的情况下,很艰难的去维护。刚刚说到“分而治之”(解释:分别治理。2.利用手段使国家、民族或宗教等产生分裂,然后对其进行控制和统治。)是微服务的思想。理解了这个思想,就可以来设计你的系统架构。

  具体思路:可以对每个业务进行拆分为微服务,微服务自治,数据,缓存,接口都是自我管理。微服务之间的通信一般约定为接口间的通讯和异步消息的通讯。微服务于微服务组合共同提供外部的接口,可以形成更大的服务。

二、构建微服务相关点

  上面说到把独立的业务拆分成不同的微服务,一般表现为下列几点:

  1.身份认证服务(IdentityServer4)

  2.服务的注册和发现(集成Consul)

  3.服务之间的通讯和效率(通讯使用HttpWebApi,效率较低,有崩溃的可能性)

  4.服务之间的事务性(ACID CAP或者异步通讯和人工干预,比如rebitmq)

  5.服务的对外网关(Ocelot)

  6.服务间的异步通讯,消息(使用rebitmq组件)

  7.服务的日志系统(log4+rebitmq)

  8.服务的监控(暂时没想到)

  9.服务部署和弹性伸缩(docker+k8s)

  以上这些,我选择使用asp.net core api方式来构建,因为本人一直从事.net开发,主要是思路,思路才是最值钱的,哈哈哈!

  暂时只想到这些,各位博友可以提供一些信息,以上这些都是大型微服务分布式应用的难题,可以一起攻克

三、微服务架构图(请各位博友和大牛多多指教)

  

 

四:微服务总结

  上面说所的一系列组件,不一定要非常完美的解决掉上线,可以按照自己的规模和实际技术积累进行优化,在运行和维护时,才能发现问题,一步步解决吧!

  微服务应该提早规划好,怎么支持分布式事务,这是重点中的重点!

 

   本人也是第一次学习微服务,全是自己慢慢摸索所得结论,肯定有不合理的地方,希望各位博友多多指导!

  

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM