【微服务-架构选型】记录2022年微服务技术架构选型

后端技术栈

在这里插入图片描述

套用互联网上的一句话,在java领域里面躲不过去的 alibaba ,所以本次微服务架构选型还是基于SpringCloud Alibaba 做为基础。

  1. 在 Spring Cloud 众多的实现方案中,Spring Cloud Alibaba 凭借其支持组件最多,方案最完善,在 Spring Cloud 生态家族中扮演了重要角色。Spring Cloud Alibaba 与 Spring Cloud 生态其他方案之间对比图如下
  2. 得力于Allibaba丰富的商业化云服务
    在这里插入图片描述
    Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件。
    依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
    此外,阿里云同时还提供了 Spring Cloud Alibaba 企业版 微服务解决方案,包括无侵入服务治理(全链路灰度,无损上下线,离群实例摘除等),企业级 Nacos 注册配置中心和企业级云原生网关等众多产品。

SpringCloud Alibaba核心组件

注册配置中心:Nacos

服务熔断:Sentinel

服务RPC、负载均衡:Dubbo

  • Apache Dubbo 是一款微服务框架,为大规模微服务实践提供高性能 RPC 通信、流量治理、可观测性等解决方案,涵盖 Java、Golang 等多种语言 SDK 实现。【之前有阿里开发维护,现已捐献给Apache,说明这个项目的分量还是非常棒的,现在更新3.0完全切合云原生】
  • 官网:https://dubbo.apache.org/zh/index.html
  • dubbo3:https://dubbo.apache.org/zh/overview/what/dubbo3/
  • 开源GitHub:https://github.com/apache/dubbo
  • Dubbo3 定义为面向云原生的下一代 RPC 服务框架。3.0 基于 Dubbo 2.x 演进而来,在保持原有核心功能特性的同时, Dubbo3 在易用性、超大规模微服务实践、云原生基础设施适配、安全性等几大方向上进行了全面升级
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

分布式消息:RocketMQ

分布式事务:Seata

  • Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
  • 官网:https://seata.io/zh-cn/
  • 企业服务:https://www.aliyun.com/product/aliware/mse?spm=seata-website.topbar.0.0.0
  • 开源GitHub:https://github.com/seata/seata
    在这里插入图片描述
  • Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,其内部版本在阿里系内部一直扮演着应用架构层数据一致性的中间件角色,帮助经济体平稳的度过历年的双11,对上层业务进行了有力的技术支撑。经过多年沉淀与积累,其商业化产品先后在阿里云、金融云上售卖。2019.1 为了打造更加完善的技术生态和普惠技术成果,Seata 正式宣布对外开源,未来 Seata 将以社区共建的形式帮助用户快速落地分布式事务解决方案。
  • Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

核心中间件

分布式缓存中间件:Redis

分布式定时任务:xxl-job

分布式的数据库生态系统:Sharding-JDBC

  • Apache ShardingSphere 是一款分布式的数据库生态系统,可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。
  • 官网:https://shardingsphere.apache.org/index_zh.html
  • 开源GitHub:https://github.com/apache/shardingsphere
  • Apache ShardingSphere 设计哲学为 Database Plus,旨在构建异构数据库上层的标准和生态。 它关注如何充分合理地利用数据库的计算和存储能力,而并非实现一个全新的数据库。 它站在数据库的上层视角,关注它们之间的协作多于数据库自身。
    在这里插入图片描述

文档接口管理:Swagger-knife4j

ORM框架:Mybatis-Plus

前端技术栈

  • 前端确实不擅长,就只有一笔带过啦。

核心组件

vue

element-plus

总结

  • 这只是个人或者自己比较擅长的领域,各位小伙伴可以根据自己的实际情况进行选择。

不要把技术看得太重。对所有的主观性宣传文章,留一些心眼,多问一句——那缺点呢?将来决定你们是否会掉在坑里的,就是它的缺点。
对于那些会如实告诉你缺点的宣传文章,请高看一眼,因为作者是真的希望对你们团队的未来负责。

参考价值文献

https://juejin.cn/post/6844903815846576136

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>