摘要

一个完整的电商项目微服务的实践过程,从选型、业务设计、架构设计到开发过程管理、以及上线运维的完整过程总结与剖析。

讲师介绍

产品需求介绍

  • 纯线上商城

  • 线上线下一体化

  • 跨行业

  • 跨商业模式

从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 作枪,瞄准的是快速变化的目标

视频链接

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐