写点什么

微服务架构设计实践

作者:Arvin
  • 2022 年 4 月 24 日
  • 本文字数:661 字

    阅读完需:约 2 分钟

微服务架构设计实践

微服务架构体系

1.架构图及技术栈


2.微服务介绍

源代码地址: https://github.com/ittarvin/micro-services

2.1.项目代码管理目录结构


项目采用 Maven 进行项目代码管理。

2.1.1.代码结构介绍

  • zjcw-gateway


服务网关服务


  • zjcw-${占位符}-micro-services


按模块划分的微服务


  • zjcw-notifcation


通知服务(短信,钉钉,推送等)


  • zjcw-statistics


定时任务执行服务


  • zjcw-oauth(待定)


微服务的安全体系


  • zjcw-plugin


插件管理


  • zjcw-utils


公共工具类

3.服务网关(Gateway)

Gateway 作为更底层的微服务网关,通常是作为外部 Nginx 网关和内部微服务系统之间的桥梁,起了这么一个承上启下的作用。

3.1.简介

网关服务基于 Spring Cloud Gateway 实现。实现功能包括 请求路由,服务负载,请求降级等。(文档

3.1.2.扩展

  • 实现基于 Apollo 的路由动态配置更新 。

  • 集成车旺链路追踪(Zipkin)。

4.业务微服务(zjcw-${}-micro-services)

4.1.微服务应用分层


Controler 业务请求控制层【不包括业务逻辑】Service 服务层【与 domain 共同实现业务逻辑,主要担任 domain 层的业务协调工作】Domain 层负责关键业务计算 Proxy 服务代理与其他服务的交互(如:Fegin Client)DAO 数据库持久层(Mybatis)

4.2.微服务应用测试

4.2.1.测试覆盖原则


  • 单元测试(UT)


使用技术:Junit,Spring Mock MVC,Mpckito


  • 集成测试(IT)


主要针对外部依赖进行测试。


  • 组件测试(CT)


内部 Mock AND 外部 Mock 内部:Spring MockBean,外部工具 WireMock外部: hoverfly将外部依赖进行 Mock


  • 端到端(End-to-End Test)


API 测试工具 Rest-assured


  • 契约测试(不推荐)


国内应用较少

4.2.2.测试收益


终!!!

用户头像

Arvin

关注

生活黑客35 2019.06.11 加入

起点不重要,迭代很重要,就需要保持充分的开放和积累;而信息越充分,结果越可靠,又要求随时调整、不断逼近真相。

评论

发布
暂无评论
微服务架构设计实践_微服务架构_Arvin_InfoQ写作社区