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

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

在这里插入图片描述

在这里插入图片描述

服务网关

服务网关是在微服务架构中扮演重要角色的组件,它是系统对外的入口,负责接收和处理客户端的请求,并将请求路由到相应的微服务。服务网关常常与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和其他容器化技术

在这里插入图片描述

版本对应

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java日志脱敏——基于logback MessageConverter实现

背景简介 日志脱敏 是常见的安全需求,最近公司也需要将这一块内容进行推进。看了一圈网上的案例,很少有既轻量又好用的轮子可以让我直接使用。我一直是反对过度设计的,而同样我认为轮子就应该是可以让人拿去直接用的。所以我准备分享两篇博客…

目标追踪DeepSort

一、卡尔曼滤波 你可以在任何对某个动态系统有 “不确定信息” 的地方使用卡尔曼滤波器,并且可以对系统下一步的行为做出 “有根据的猜测”。即使混乱的现实干扰了你所猜测的干净运动,卡尔曼滤波器通常也能很好地确定实际发生了什么。它还可以利用你可能…

数据结构与算法——Java实现 53.力扣938题——二叉搜索树的范围和

生命的意义 在于活出自我 而不是成为别人眼中的你 —— 24.11.3 938. 二叉搜索树的范围和 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。 示例 1: 输入:root [10,5,15,3,7,null,18], low 7, high 15 …

微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖、z-index应用及性能分析

微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖、z-index应用及性能分析 目录 微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖、z-index应用及性能分析 1、iOS在scroll-view内部上下滑动吸顶的现象 正常的上下滑动吸顶…

免费好用又好看且多端自动同步第三方终端工具Termius你值得拥有

使用目的: 本地终端功能一样,都是为了登录服务器查看日志等操作。 本地终端 优点:方便简单,无需额外下载安装、免费。 缺点:每次都需要重新登陆输入命令,步骤繁琐无法简化;不能跨端同步。 第…

Unity引擎材质球残留贴图引用的处理

大家好,我是阿赵。   这次来分享一下Unity引擎材质球残留贴图引用的处理 一、 问题 在使用Unity调整美术效果的时候,我们很经常会有这样的操作,比如: 1、 同一个材质球切换不同的Shader、 比如我现在有2个Shader,…

【electron+vue3】使用JustAuth实现第三方登录(前后端完整版)

实现过程 去第三方平台拿到client-id和client-secret,并配置一个能够外网访问回调地址redirect-uri供第三方服务回调搭建后端服务,引入justauth-spring-boot-starter直接在配置文件中定义好第一步的三个参数,并提供获取登录页面的接口和回调…

Jetson OrinNX平台CSI相机导致cpu load average升高问题调试

1. 前言 硬件: Orin NX JP: 5.1.2, R35.4.1 用v4l2-ctl --stream-mmap -d0 命令去获取相机数据时, 用top查看cpu使用情况, CPU占用率很低,但load average在1左右, 无任何程序运行时,load average 为0 用ps -aux 查看当前进程情况,发现有两个系统进程vi-output, …

第六十三周周报 GGNN

文章目录 week63 GGNN摘要Abstract一、文献阅读1. 题目2. abstract3. 网络架构3.1 数据处理部分3.2 门控图神经网络3.3 掩码操作 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.3.1 传感器设置策略4.3.2 数据集4.3.3 实验设置4.3.4 模型参数设置4.3.5 实验结果 5. 结论总…

【Linux】从零开始使用多路转接IO --- poll

碌碌无为,则余生太长; 欲有所为,则人生苦短。 --- 中岛敦 《山月记》--- 从零开始使用多路转接IO 1 前言1 poll接口介绍3 代码编写4 总结 1 前言 上一篇文章我们学习了多路转接中的Select,其操作很简单,但有一些缺…

Verilog实现的莫尔斯电码发生器

莫尔斯或者摩尔斯电码(Morse Code),发明于1837年(另有一说是1836年),通过不同的排列顺序来表达不同的英文字母、数字和标点符号,在这里作一简单处理,仅产生点(Dit)和划(Dah),时长在0.25秒之内为点,超过为划…

Maven介绍,IDEA集成方式

概述 什么是Maven? Maven 的正确发音是[ˈmevən],Maven在美国是一个口语化的词语,代表专家、内行的意思。 一个对 Maven 比较正式的定义是这么说的: Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Proj…

stl_stack/queue

一.适配器 stack和queue实际上并不能算是一种容器,而是一种容器适配器。而适配器作为stl的6大组件之一,其实是一种设计模式。适配器模式其实就是将一个类的接口(该接口无法直接满足客户的需求)转换成客户希望的另一个接口&#x…

利用Docker Compose构建微服务架构

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 利用Docker Compose构建微服务架构 引言 Docker Compose 简介 安装 Docker Compose 创建项目结构 编写 Dockerfile 前端 Dockerf…

Redis未授权访问漏洞复现和修复建议

Redis未授权访问漏洞利用(总结) 一、漏洞介绍及危害1.1 原理1.2 漏洞影响版本1.3 漏洞危害1.4 实战中redis常用命令 二、漏洞复现2.1 环境准备2.1.1 靶机安装redis服务器2.1.2 kali安装Redis客户端(Redis-cli) 三、漏洞利用3.1 利…

无人机之集群控制方法篇

无人机的集群控制方法涉及多个技术和策略,以确保多架无人机能够协同、高效地执行任务。以下是一些主要的无人机集群控制方法: 一、编队控制方法 领航-跟随法(Leader-Follower) 通过设定一架无人机作为领航者(长机&am…

流水线商品标签如何快速打印?商品标签自定义打印软件操作方法

一、概述 【软件可定制详情点文章最后信息卡片】 流水线商品标签如何快速打印?商品标签自定义打印软件操作方法 ‌定义与用途‌ 商品标签打印软件,即用于打印商品标签的应用软件。标签包含产品上的文字、商品详情等说明信息 如图,可以预先…

不只是任务分配!管理者应具备的核心认知

背景 二十年,中国的互联网行业飞速发展,让无数年轻人有了从技术岗走向管理岗的机会。然而,许多工程师在走上管理岗位时往往是“仓促上任”,没有足够时间适应管理工作和责任。少数悟性高、能力突出的工程师能够迅速胜任&#xff0…

第二十五章 Vue父子通信之sync修饰符

目录 一、概述 二、完整代码 2.1. main.js 2.2. App.vue 2.3. BaseDialog.vue 三、运行效果 一、概述 前面的章节我们讲到,通过v-model我们可以实现父子组件间的通信,但是使用v-model的时候,子组件接收的prop属性名必须固定为valu…

【浪潮商城-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…