微服务架构深入理解 | 技术栈

微服务架构深入理解 | 技术栈

在这里插入图片描述

在这里插入图片描述

服务网关

服务网关是在微服务架构中扮演重要角色的组件,它是系统对外的入口,负责接收和处理客户端的请求,并将请求路由到相应的微服务。服务网关常常与API管理、负载均衡、安全认证、流量控制等功能结合,以提供统一的接口和增强系统的可用性、安全性和性能

服务网关技术
  • Nginx: 轻量级的开源反向代理服务器,可以用作服务网关,实现负载均衡、请求转发和缓存等功能
  • Spring Cloud Gateway: 基于Spring Cloud的网关组件,提供丰富的路由和过滤器功能,易于与Spring Cloud微服务集成
  • Netflix Zuul: Netflix开源的网关组件,用于提供动态路由、负载均衡和请求过滤等功能

服务集群

服务集群是将多个相同类型的服务实例组合在一起,通过负载均衡等技术来分担请求并提供高可用性的解决方案;服务集群中,每个服务实例都运行相同的服务代码,但可能运行在不同的服务器或容器中

注册中心

注册中心是在分布式系统中用于管理和维护服务实例信息的组件。它充当了服务发现的核心角色,使得服务能够在分布式环境中进行自动发现和调用。在微服务架构中,注册中心扮演着重要的角色,它允许服务实例在启动时将自己的元数据注册到注册中心,并能够查询其他服务实例的元数据

注册中心技术

  • Eureka: Netflix开源的服务发现组件,用于构建高可用的服务注册中心
  • Consul: 由HashiCorp开发的服务发现与配置工具,支持多数据中心部署
  • ZooKeeper: Apache开源的分布式协调服务,可以用作服务注册中心

配置中心

配置中心是在分布式系统中用于集中管理和存储应用程序的配置信息的组件;微服务架构中,配置中心允许开发人员将应用程序的配置参数、环境变量、特性标志等集中管理,而不需要硬编码到代码中;这样可以使得应用程序的配置更加灵活,便于动态调整和管理

配置中心技术

  • Spring Cloud Config: Spring Cloud提供的配置中心解决方案,支持集中管理和动态刷新配置
  • Consul: Consul作为服务发现与配置工具,同时也可以作为配置中心使用
  • Apollo: 携程开源的配置中心,支持多语言和多环境配置管理

系统监控链路追踪

系统监控和链路追踪是在分布式系统中用于监测和分析系统性能、资源利用率和请求调用的技术和工具。在微服务架构中,由于服务拆分成多个独立的服务,系统的复杂性增加,因此监控和链路追踪成为必要的手段,以便实时监测系统的健康状态、定位问题并进行性能优化

消息队列

消息队列是一种在分布式系统中用于异步通信和解耦应用组件的技术。它允许应用程序之间通过发送和接收消息来进行通信,从而实现解耦和削峰填谷等功能。消息队列的基本原理是将消息发送到一个中间件(消息队列),然后由接收者从中间件中获取消息进行处理

消息队列的工作流程
  • 消息生产者(Producer): 消息的发送者称为生产者,它负责将消息发送到消息队列中
  • 消息队列(Message Queue): 消息队列是消息的中间存储区域,它接收生产者发送的消息并将其存储在队列中,等待消费者进行消费
  • 消息消费者(Consumer): 消息的接收者称为消费者,它从消息队列中获取消息并进行处理
  • 异步通信: 在消息队列中,生产者和消费者之间是异步通信的,生产者可以立即发送消息并继续执行其他操作,而不需要等待消费者的响应

分布式日志服务

分布式日志服务是指在分布式系统中集中管理和存储日志信息的服务。在分布式系统中,由于系统拆分成多个独立的组件和服务,日志信息可能分散在不同的节点和服务器上。分布式日志服务的目标是将所有组件和服务的日志集中存储,使得开发人员和运维团队可以更方便地查看、分析和监控系统的日志

Jenkins

Jenkins 是一个开源的持续集成和持续交付(CI/CD)工具,旨在帮助开发团队自动化构建、测试和部署应用程序;是一个基于Java开发的Web应用程序,能够在多种操作系统上运行,并且有丰富的插件生态系统,可以扩展其功能

Kubernetes

Kubernetes(通常简称为K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序;Kubernetes旨在帮助开发者更轻松地构建、发布和管理分布式应用程序,以及解决容器编排和自动化管理的挑战

Docker

Docker是一个开源的容器化平台,用于打包、发布和运行应用程序和服务;允许开发者将应用程序及其所有依赖项(例如库、运行时环境等)打包到一个称为"容器"的独立单元中。这使得应用程序可以在任何环境中以相同的方式运行,无论是开发环境、测试环境还是生产环境,从而实现了在不同平台上的一致性和可移植性

Rancher

Rancher是一个开源的容器管理平台,用于简化和集中化容器编排和管理。它提供了用户友好的界面和强大的功能,使得用户可以轻松地部署、扩展和管理Kubernetes、Docker和其他容器化技术

在这里插入图片描述

版本对应

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/907703.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenSLL下载,环境变量配置

https://slproweb.com/products/Win32OpenSSL.html 环境变量 新建一个path为安装选择的目录的bin路径

AI图像相似性搜索对比:VIT, CLIP, DINO-v2, BLIP-2

图像相似性搜索的核心在于一个简单的想法:图像可以表示为高维空间中的向量。当两个图像相似时,它们的向量应该在这个空间中占据相似的位置。我们可以通过测量角度(或余弦相似度)来确定这些向量的相似程度。如果角度小,…

零基础Java第十二期:类和对象(三)

目录 一、static成员(补) 1.1. static修饰成员方法 1.2. static成员变量初始化 二、代码块 2.1. 静态代码块和实例代码块 ​三、对象的打印 一、static成员(补) 1.1. static修饰成员方法 public class Linear {public st…

三层交换技术,eNSP实验讲解

三层交换技术,eNSP实验讲解 一、简要介绍1、概念2、工作原理3、优点4、应用场景5、与路由器的区别 二、eNSP仿真实验1、步骤一:创建连接,明确参数。2、步骤二:设置PC1和PC2参数3、步骤三:配置交换机,通过命…

【Linux】掌握库的艺术:我的动静态库封装之旅

🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 🌈C专栏:C 文章目录 1.什么是库1.2 认识动静态库1.2.1 动态库1.2.2…

访问控制技术原理与应用

目录 访问控制概述实现访问控制目标访问控制参考模型常见访问控制模型访问控制模型-DAC自主访问控制访问控制模型-MAC强制访问控制访问控制模型-RBAC基于角色的访问控制访问控制模型-ABAC基于属性的访问控制 访问控制概述 访问控制是对资源对象的访问授权控制的方法以及运行机…

nginx配置转发到elk的kibana的服务器

服务器准备 在135服务器上安装nginx服务 编辑kibana服务器的配置文件 将端口改为监听自己 杀掉之前kibana进程 重新启动kibana服务 因为设置了监听自身,所以前台访问kibana页面报错 此时我们修改nginx配置文件,用grep命令反选不含#和空行的行 将其覆盖原…

【Android】View的事件分发机制

文章目录 分发顺序ActivityViewGroupView 协作方法整体流程注意 Activity事件分发ViewGroup事件分发View点击事件总结 分发顺序 Activity->ViewGroup->View Activity 分发事件:Activity 通过 dispatchTouchEvent 方法分发事件,首先尝试将事件传递…

湘潭市学生公交卡线上申领流程及一寸照片自拍方法

在湘潭市,学生公交卡的线上申领流程已经非常便捷,同时,为了满足学生公交卡申领时所需的一寸照片要求,本文将详细介绍整个申领流程以及如何使用手机自拍并制作线上申领学生公交卡所需的一寸照片电子版。 一、湘潭市学生公交卡线上申…

翻译工具体验分享:deepl翻译等10款神器对比

作为一位在外贸行业摸爬滚打多年的客服,我深知在与国际客户沟通时,准确、高效的翻译工具是多么的重要。今天,我就来和大家分享一下我使用过的几款翻译工具,一共是十款,大家可以先看看。 一、福昕在线翻译 传送门&…

Linux入门(2)

林纳斯托瓦兹 Linux之父 1. echo echo是向指定文件打印内容 ehco要打印的内容,不加任何操作就默认打印到显示器文件上。 知识点 在Linux下,一切皆文件。 打印到显示器,显示器也是文件。 2.重定向 >重定向操作,>指向的…

六 在WEB中应用MyBatis(使用MVC架构模式)

六、在WEB中应用MyBatis(使用MVC架构模式) 实现功能: 银行账户转账 使用技术: HTML Servlet MyBatis WEB应用的名称: bank 6.1 需求描述 6.2 数据库表的设计和准备数据 6.3 实现步骤 第一步:环境…

React + Vite + TypeScript + React router项目搭建教程

一、创建项目 运行项目 二、目录结构 项目目录: ├─node_modules //第三方依赖 ├─public //静态资源(不参与打包) └─src├─assets //静态资源├─components //组件├─config //配置├─http //请求方法封装├─layout //页面…

Java-I/O框架09:InputStreamReader、OutputStreamWriter使用

视频链接:16.24 转换流的使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tz4y1X7H7?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p24 1.InputStreamReader使用 package com.yundait.Demo05;import java…

一键AI换衣-可图AI试衣

我们的真的实现了穿衣自由了吗?上传一张人物图片和衣服的图片,就能实现一键换衣。 这就是可图AI试衣项目 魔塔地址:https://www.modelscope.cn/studio ... lors-Virtual-Try-On 参考: 一键AI换衣-可图AI试衣 https://www.jinsh…

Linux的IP网路命令: 用于显示和操作网络接口(网络设备)的命令ip link详解

目录 一、概述 二、用法 1、基本语法 2、常用选项 3、常用参数 4、获取帮助 三、示例 1. 显示所有网络接口的信息 (1)命令 (2)输出示例 (3)实际操作 2. 启动网络接口 3. 停止网络接口 4. 更改…

程序员记笔记有没有必要?如何高效记笔记?

本文转载自:https://fangcaicoding.cn/article/57 大家好!我是方才,目前是8人后端研发团队的负责人,拥有6年后端经验&3年团队管理经验,截止目前面试过近200位候选人,主导过单表上10亿、累计上100亿数据…

lust变频器维修电梯变频器CDD34.014.W2.1LSPC1

LUST伺服在安装时须注意,不可有任何的铁屑、螺丝、导线等掉人驱动器内。在安装完成后应作基本的检测动作,如对地阻抗,和短路检测等。 所有的安装及使用事项需要符合安全规定,并且也需要符合当地的相关规定和灾害预防措施。DC BUS…

NFTScan Site:以蓝标认证与高级项目管理功能赋能 NFT 项目

自 NFTScan Site 上线以来,它迅速成为 NFT 市场中的一支重要力量,凭借对各类 NFT 集合、市场以及 NFTfi 项目的认证获得了广泛认可。这个平台帮助许多项目提升了曝光度和可见性,为它们在竞争激烈的 NFT 市场中创造了更大的成功机会。 在最新更…

深度学习在复杂系统中的应用

引言 复杂系统由多个相互作用的组成部分构成,这些部分之间的关系往往是非线性的,整体行为难以通过简单的线性组合来预测。这类系统广泛存在于生态学、气象学、经济学和社会科学等多个领域,具有动态演变、自组织、涌现现象以及多尺度与异质性…