java

Spring Cloud微服务架构案例分享

2019-07-13  本文已影响2人  Java分布式架构实战

项目架构升级背景

最近我在规划一个项目重构,这是一个B2B商业系统,大概有十几个业务模块,以前是采用.net 4.0技术实现的。以前的架构大致是这样的。


老系统架构(.net all in one 模式)

老系统目前存在的问题:

  1. 所有的模块在一个代码仓库,每次打开工程巨慢,而且每次发布都要一起发布。
  2. 技术债务较多,维护成本很高。
  3. 技术体系较旧,开发体验较差。

准备架构升级

针对以上问题,我给出如下架构升级建议:

  1. 采用前后端分离协作模式,专业的人做专业的事,效率更高,产出质量更好。前后端分离需要更多沟通成本,不需要沟通的场景是有限的。其实真正按这种协作模式,沟通不是问题,现在有很好的在线协作工具,研发效能工具。我见过很多所谓的全栈开发团队,需要配两三个前端专门美化界面,产出质量、效率真的还是差那么几个level。具体技术栈是Vue.js + @vue/cli + element-ui,由于对界面要求很高,会对element-ui样式进行定制。后续如果团队前端技能再强一些,就放弃Vue.js, 上React.js技术栈。
  2. 前端也要考虑模块化,可以参考微前端架构模式,重点是分包加载,基础框架及效率工具研发。
  3. 后端采用微服务架构,采用Spring Boot + Spring Cloud + Kubernetes。
    3.1 Spring Boot: 提供完善的DI及AOP支持。
    3.2 Spring Cloud: 提供完善的服务治理体系。
    3.3 Kubernetes: 提供服务编排,弹性计算,资源调度等云原生特性。

总体架构图如下:


新版微服务架构(Java技术栈)

新技术架构中还有哪些痛点,等我慢慢总结出来分享给大家。

更多分享资料

关注公众号交流学习

在这里分享一些项目实战过程中遇到过的问题及解决方案。分享学习到的分布式架构及核心技术细节。

关注Java分布式架构实战, 持续精进

加我微信,聊一聊

联系我,学习交流
上一篇下一篇

猜你喜欢

热点阅读