ASP.NET Core基于K8S的微服务电商案例实践--学习笔记
摘要
一个完整的电商项目微服务的实践过程,从选型、业务设计、架构设计到开发过程管理、以及上线运维的完整过程总结与剖析。
讲师介绍
产品需求介绍
- 纯线上商城
- 线上线下一体化
- 跨行业
- 跨商业模式
从0开始,我们应该采用微服务吗?
不适合采用微服务架构:
- 应用程序规模小
- 领域不明确
- 组织不能做出改变
- 缺乏理解
- 团队不成熟
微服务的成本(从单体转入微服务)
- 协作问题
- 引发分布式事务问题
- 增加大量的重复代码
- 服务监控
- 日志的搜集与展示
针对微服务所带来的成本可用通过 K8S 解决
K8S 的成本
- 统一的配置问题
- 增加大量的部署时间
- 服务注册与发现
- 负载均衡
- 服务器成本增加
K8S 的优势
- 无状态服务高可用
- 有状态数据高可用
- 快速扩容
- 按量付费
- 基于 GitLab 和 helm 的 CI/CD
- 统一配置
- 服务注册与发现
- 日志搜集
领域划分
微服务架构
微服务实践
- 共享核心库:核心库部署到私有 nuget server,并通过 CI 自动化
- 共享代码:基于 GitLab CI 发布业务组件到 nuget server
- 服务模板:grpc server
- 同步通信:本地调用与 RPC 调用单体部署与分布式部署
- 异步通信:基于 masstransit 库的 saga
- 统一认证授权:Ocelot
- 协作:API 管理,Postman
- 持续集成:基于 GitLab CI 和 helm CICD 部署到 K8S
- 未来:分布式事务,Service Mesh 服务网格
微服务的价值
- 微服务架构解放小团队生产力,提高市场响应力
- 微服务是颗子弹,需要 PaaS 作枪,瞄准的是快速变化的目标
视频链接
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂