.Net 微服务架构技术栈的那些事

一、前言

大家一直都在谈论微服务架构,园子里面也有很多关于微服务的文章,前几天也有一些园子的朋友问我微服务架构的一些技术,我这里就整理了微服务架构的技术栈路线图,这里就分享出来和大家一起探讨学习,同时让新手对微服务相关技术有一个更深入的了解。

二、技术栈

2.1 工欲善其事,必先利其器

现在互联网盛行的年代,互联网产品也层出不穷,受欢迎的互联网产品都有一个比较牛的技术团队,我这里分享下.net 微服务架构技术栈图如下:

 

俗话说得好:工欲善其事,必先利其器。一个优秀的工程师应该善于使用框架和工具,在微服务这一块的技术选型并非一蹴而就,需要经过日积月累和落地的项目才能完善。
下文我会一一分享技术栈中的主要框架和工具的使用场景,这篇文章就不一一分享实战例子。

2.2 微服务

微服务如何“微”?

微服务,当然核心是主题是“微”,怎么微呢?应该如何微呢?在我刚来杭州的时候接触过一个电商系统的单体架构,系统比较庞大,结合了各种电商该拥有的业务逻辑和场景,
代码也比较难于维护,前前后后接手的人也比较多,代码耦合度太高,改个业务逻辑基本上是牵一发而动全身,跟我上个月分享的关于
Asp.Net Core 中IdentityServer4 授权中心之应用实战的文章中的电商系统最初的架构图类似,如下:

 


那针对这个架构就有可“微”之谈了。

这里针对该单体架构可以做如下几个原则上进行“微”服务:

  • 根据业务来进行拆分,一个业务一个服务原则进行拆分,做到通用性业务服务模块,这样业务之间可以做到高内聚低耦合。后面随意改动哪一块业务,只需要去改动这一块的业务微服务即可,其他业务不会受到影响。
  • 一个业务模块一个独立的数据库为原则,相互平行的业务做到不需要相互依赖调用。
  • 外层API网关进行业务逻辑的整合。
  • 一个业务数据库一个微服务为原则。
  • 结合分布式服务,可以快速版本迭代,发布平滑发布,不受时间影响,没时每刻都可以发布,无需半夜等到12点进行发布。(比较痛苦的发布,犹如三日凌空般(有点夸张),曾经有段时间是每周都有那么几个晚上痛苦的发布,一发布就可能是凌晨4,5点,很多时候发布完,还要经过各种测试,最后发现问题还得线上改bug,我们回去的时候别的同事已经来上班了;当时我们的技术大佬说过这么一句话:“他连续一周都没看到过他的儿子,回去的时候,他儿子早就睡着了,起来上班的时候,他儿子已经去学校了”,大家一定也有过这样的发布经历。)

按照上面的原则后,原来的电商单体架构微服务改造升级后架构图如下:

 

架构图粗略的画了下,能够表明意思即可,微服务、Docker、k8s那一块简要

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值