现在微服务早已火遍大江南北,关于开发来说,我们时间重视着技术的迭代更新,而项目选用什么技术栈选型落地是开发、产品都需要重视的作业,该篇博客首要共享一些现在遍及公司都在用的技术栈,快来共享一下你其时所在用的技术吧。
修订时间
时间 | 备注 | 修订人 |
---|---|---|
2022/08/12 | 初始版别 | austin |
一、微服务处理中心结构
Apache Dubbo散布式RPC结构
Apache Dubbo
是一款 RPC 服务开发结构,用于处理微服务架构下的服务处理与通讯问题,官方供应了 Java、Golang 等多语言 SDK 完结。运用 Dubbo 开发的微服务原生具有相互之间的长途地址发现与通讯能力, 利用 Dubbo 供应的丰厚服务处理特性,可以完结比如服务发现、负载均衡、流量调度等服务处理诉求。Dubbo 被规划为高度可扩展,用户可以便当的完结流量阻挠、选址的各种定制逻辑。
Spring Cloud Alibaba散布式运用服务开发一站式处理方案
Spring Cloud Alibaba
致力于供应微服务开发的一站式处理方案。此项目包括开发散布式运用微服务的必需组件,便当开发者通过 Spring Cloud 编程模型轻松运用这些组件来开发散布式运用服务。 依托 Spring Cloud Alibaba,您只需要增加一些注解和少量配备,就可以将 Spring Cloud 运用接入阿里微服务处理方案,通过阿里中间件来敏捷搭建散布式运用系统。 此外,阿里云同时还供应了 Spring Cloud Alibaba 企业版微服务处理方案,包括无侵入服务处理(全链路灰度,无损上下线,离群实例去除等),企业级 Nacos 注册配备中心和企业级云原生网关等很多产品。
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 开发人员可以快速树立完结这些方式的服务和运用程序
Spring Cloud架构图
Spring Cloud Tencent一站式微服务处理方案
Spring Cloud Tencent
是腾讯开源的一站式微服务处理方案。Spring Cloud Tencent完结了Spring Cloud规范微服务SPI,开发者可以依据Spring Cloud Tencent快速开发Spring Cloud微服务架构运用。Spring Cloud Tencent的中心依托腾讯开源的一站式服务发现与处理途径Polarismesh,完结各种散布式微服务场景。
Spring Cloud Tencent架构图
Apache ServiceComb一站式开源微服务处理方案
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
Kubernetes也称为 K8s,是一个开源系统,用于主动安置、扩展和处理容器化运用程序,Kubernetes是一个可移植、可扩展的开源途径,用于处理容器化作业负载和服务,有助于声明式配备和主动化。它拥有巨大且快速展开的生态系统。Kubernetes 服务、支撑和东西广泛可用。Kubernetes 结合了Google 超越 15 年大规模运转出产作业负载的阅历以及来自社区的最佳构思和实践。什么是kebernetes?
Docker Swarm
Docker Swarm, Docker的原生集群系统。Docker Swarm 方式内置于 Docker 引擎中,用于本地处理称为 swarm 的Docker引擎集群。运用 Docker CLI 创建 swarm,将运用程序服务安置到 swarm,并处理 swarm 行为。这是 Docker 的第一个容器编排项目。
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(多) |
七、总结
该篇文章首要是介绍其时比较盛行的一些微服务技术栈以及常用的运用服务,仅仅是个人的一些观念,后边还会继续更新该篇文章内容,现在你公司常用的微服务架构有哪些呢?可以在谈论区留言,我是austin,我们下期见!!