目前微服务早已火遍大江南北,对于开发来说,我们时刻关注着技术的迭代更新,而项目采用什么技术栈选型落地是开发、产品都需要关注的事情,该篇博客主要分享一些目前普遍公司都在用的技术栈,快来分享一下你当前所在用的技术吧。
一、微服务治理中心框架
Apache Dubbo分布式RPC框架
Spring Cloud Alibaba分布式应用服务开发一站式解决方案
Spring Cloud Alibaba与Spring Cloud的关系
在 Spring Cloud 众多的实现方案中,Spring Cloud Alibaba 凭借其支持组件最多,方案最完善,在 Spring Cloud 生态家族中扮演了重要角色。Spring Cloud Alibaba 与 Spring Cloud 生态其他方案之间对比图如下:
主要功能
Sentinel
阿里巴巴开源产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Nacos
阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
RocketMQ
Apache RocketMQ™ 基于 Java 的高性能、高吞吐量的分布式消息和流计算平台。
Dubbo
Apache Dubbo™ 是一款高性能 Java RPC 框架。
Seata
阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
Alibaba Cloud OSS
阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
Alibaba Cloud SchedulerX
阿里中间件团队开发的一款分布式任务调度产品,支持周期性的任务与固定时间点触发任务。
Alibaba Cloud SMS
覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。
Spring Cloud微服务开发和治理框架
Spring Cloud架构图
Spring Cloud Tencent一站式微服务解决方案
Spring Cloud Tencent架构图
Apache ServiceComb一站式开源微服务解决方案
Apache ServiceComb架构图
Apache ServiceComb项目介绍传送门
二、持续集成CI/CD
CI/CD | 配置中心 |
---|---|
Jenkins、Docker Hub、Maven、Nexus、CI/CD | Apollo |
三、微服务组件
阿里系
选项 | 组件 |
---|---|
服务调用方式 | OpenFeign |
服务注册 | Nacos Discovery |
API网关 | Spring Cloud Gateway |
熔断限流 | Sentinel |
配置中心 | Nacos Config |
消息队列 | RocketMQ |
分布式事务 | Seata |
分布式服务追踪 | Spring Cloud Sleuth |
监控 | Spring Cloud Admin |
短信服务 | Alibaba Cloud SMS |
Spring Cloud&Dubbo系
选项 | 组件 |
---|---|
服务调用方式 | feign |
服务注册 | Eurake、Zookeeper |
API网关 | Spring Cloud Gateway、Zuul |
熔断限流 | Hystrix |
配置中心 | Apollo、Spring Cloud Config |
分布式服务追踪 | Spring Cloud Sleuth |
监控 | Spring Cloud Admin |
消息总线 | Spring Cloud Bus |
四、容器
选项 | 首选 |
---|---|
容器 | Docker |
容器编排管理 | kubernetes(首选推荐)、Docker Swarm、Apache Mesos |
Kubernetes
Docker Swarm
Kebernetes与Docker Swarm对比
五. 应用服务
选项 | 首选 | 备选 |
---|---|---|
消息队列 | 阿里云RabbitMQ服务 | |
广播式消息队列 | 阿里云Kafka服务 | |
关系型数据库 | 阿里云RDS MySQL服务 | |
分布式关系型数据库服务 | Sharding-JDBC | |
非关系型数据库 | 阿里云Mongo服务 | |
缓存 | 阿里云Redis服务 | |
文件服务器 | 阿里云OSS服务 | |
短信 | 阿里云短信服务 | |
负载均衡 | 阿里云SLB | Nginx |
分布式定时任务框架 | XXL-Job | Elastic-Job |
日志框架 | ELK | |
数据访问 | Mybatis Plus |
六、测试
选项 | 首选 |
---|---|
UI | Seleniu(少) |
单元测试 | JUnit(中) |
接口和性能测试 | JMeter(多) |
七、总结
该篇文章主要是介绍当前比较流行的一些微服务技术栈以及常用的应用服务,仅仅是个人的一些看法,后面还会持续更新该篇文章内容,目前你公司常用的微服务架构有哪些呢?可以在评论区留言,我是xiaoli8748👨🎓,我们下期见!!