微服务相关

1. 微服务主要七个模块

  1. 中央管理平台:生产者、消费者注册,服务发现,服务治理,调用关系
  2. 生产者
  3. 消费者
  4. 权限管理
  5. 流量管理
  6. 自定义传输协议
  7. 序列化反序列化

2. 中央管理平台

生产者A在中央管理平台注册后,中央管理平台会给他生成一个唯一的身份ID。生产者需要引入生产者 jar 包,在合适的位置放入这个身份ID,然后再启动程序。启动之后,这些 jar 包就自动向中央管理平台汇报,生产者就可以知道有多个服务器。

消费者也是同理。

消费者在向生产者申请时,并不会申请生产者的所有接口,而是只申请用到的几个接口。生产者也会知道哪个消费者调用了自己的接口。

消费者首次问中央管理平台后就不再问了,之后就直接请求生产者程序的 jar 包,这样可以减少网络 IO 次数,提高性能。

生产者和消费者的一切信息都可以在中央管理平台查到。

2.1. 如果有生产服务器崩溃

如果有一台生产者服务器崩溃,此时只依靠中央管理平台的话,中央管理平台会在几分钟后才发现出现问题,会很慢很慢。

此时消费者调用服务器发现异常时,会向中央管理平台发送崩溃信息,同时消费者更换其他的服务器,此时中央管理平台向其他的消费者发送崩溃信息,这样的话会很快地解决问题。

2.2. 网络传输最基础的四层协议

.

网络流的本质就是数组。

C中的 char[] 可以算一个字节流也可以算是一个字符流,但是Java中 char[] 可以算是字符流,byte[] 可以算是字节流。

自定义协议:自己定义数组中每一段字符代表的意思,接收时如何解析,等等。

3. 生产者和消费者

生产者 --> Tomcat + SpringBoot

消费者 --> Mybatis

4. 权限管理

每台消费者服务器会把权限缓存到本地,如果有程序想非法访问,那么 jar 包会对其进行拦截。(如果让生产者来判断权限,会加重生产者的压力)

消费者会做负载均衡,确保均匀地访问生产者服务器。

5. 流量管理

如何控制多台服务器请求次数?(3台服务器每分钟请求次数不超过3000次)

限流次数不需要太精确。

  1. 平均分配;
  2. 找一台服务器总统计,其他服务器每秒同步一次请求数量。

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

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

相关文章

【STL详解 —— list的模拟实现】

STL详解 —— list的模拟实现 list接口总览结点类的模拟实现构造函数 迭代器类的模拟实现迭代器类的模板参数说明构造函数运算符的重载--运算符的重载运算符的重载!运算符的重载* 运算符的重载-> 运算符的重载 list的模拟实现默认成员函数构造函数拷贝构造函数赋值运算符重载…

云服务器web环境之mariadb

1.安装mariadb服务 yum install mariadb-server 启动mariadb服务 systemctl start mariadb.service 输入mysql就能使用数据库了。 2.服务相关操作 systemctl stop mariadb.service systemctl restart mariadb.service 2.配置开机自启动 systemctl enable mariadb.serv…

k8s:kubectl 命令设置简写启用自动补全功能

k8s:kubectl 命令设置简写&启用自动补全功能 1、设置kubectl命令简写2、启用kubectl自动补全功能 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes(K8s)是一个强大的容器编排平台&#xff0…

netty

Netty出坑记-CSDN博客 NIO网络编程,高性能 异步事件驱动 短短几句话包含着多少含金量 特点 高并发:异步非阻塞IO模型,事件驱动 高性能:零拷贝 内存池 可定制 线程模型 多协议:http websocket tcp udp 自定义&…

python爬虫-----Selenium (第二十二天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

2024/4/15 AD/DA

AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号 DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号 AD/DA转换打开了计算…

下载了恶意软件怎么办,用这个软件可以解决 Mac电脑卸载软件 MacBook查杀病毒

随着苹果电脑在全球市场的普及,它们也日益成为恶意软件制作者的目标。这种趋势打破了许多人认为Mac系统不易受到病毒或恶意软件影响的传统观念。事实上,苹果电脑面临的恶意软件和安全威胁正在不断增多,这要求用户采取更加积极的措施来保护自己…

Flutter第八弹 构建拥有不同项的列表

目标:1)项目中,数据源可能涉及不同的模版,显示不同类型的子项,类似RecycleView的itemType, 有多种类型,列表怎么显示? 2)不同的数据源构建列表 一、创建不同的数据源 采用类似Rec…

苍穹外卖学习记录(一)

1.JWT令牌认证 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 JWT是目前最常用的一种令牌规范,它最…

关于机器学习/深度学习的一些事-答知乎问(三)

可解释人工智能如何进行创新? (1)解释方法结合。现有的研究较少关注如何将不同的解释方法结合起来,未来可以考虑将不同的 解释方法结合在一起,如正反结合,事实解释侧重于 “为什么”,反事实解释…

如何编写易于访问的技术文档 - 最佳实践与示例

当你为项目或工具编写技术文档时,你会希望它易于访问。这意味着它将为全球网络上的多样化受众提供服务并可用。 网络无障碍旨在使任何人都能访问网络内容。设计师、开发人员和撰写人员有共同的无障碍最佳实践。本文将涵盖一些创建技术内容的最佳实践。 &#xff0…

Arthas实战教程:定位Java应用CPU过高与线程死锁

引言 在Java应用开发中,我们可能会遇到CPU占用过高和线程死锁的问题。本文将介绍如何使用Arthas工具快速定位这些问题。 准备工作 首先,我们创建一个简单的Java应用,模拟CPU过高和线程死锁的情况。在这个示例中,我们将编写一个…

连接两部VR头显的type-c DP分配器方案,可以给主机设备PD反向供电与两部VR同时供电。

随着type-c的发展,目前越来越多的设备都在使用type-c作为连接的接口, 不仅是笔记本与手机在使用现在的游戏主机如(任天堂,steam,)或者是VR的一体机或者是VR头显也都在使用type-c作为连接接口。 type-c接口…

卷积学习笔记——一文直观形象弄懂

在神经网络的世界中,卷积操作犹如一个神秘的魔术师,它以一种精巧的方式提取出图像、声音等数据中的关键特征,为神经网络模型赋能。但究竟什么是卷积?我们一探究竟。 卷积(Convolution)本质上是一种数学运算操作,它可以用极简的数学形式漂亮地描述一个动态过程。我们可以用形象…

3D开发工具HOOPS:推动汽车行业CAD可视化发展

在最近的行业对话中,Tech Soft 3D(HOOPS厂商)的Jonathan Girroir和Actify的Peter West探讨了CAD可视化在当代企业中的重要性和挑战。作为CAD可视化领域的佼佼者,Actify通过其广受欢迎的Spinfire应用,赋能了全球40多个国…

10.哀家要长脑子了!

1. 704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 哎哟 我去 我还以为你都搞懂了 呵呵 当时问题出现在右边界初始化 左闭右开 右边界是取不到的 int left 0, right nums.size() ; while(left < right) { int mid left (right - left) / 2; if( target > …

【随笔】Git 基础篇 -- 远程仓库 git clone(二十五)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

【复习笔记】FreeRTOS(六) 队列操作

本文是FreeRTOS复习笔记的第六节&#xff0c;队列操作。 上一篇文章&#xff1a; 【复习笔记】reeRTOS(四) 列表项的插入和删除 文章目录 1.队列操作1.1.队列操作过程1.2.队列操作常用的API函数 二、实验设计三、测试例程四、实验效果 1.队列操作 队列是为了任务与任务、任务与…

IP地址的主要功能及其在网络中的重要性

在当今数字化时代&#xff0c;互联网已经成为人们生活和工作中不可或缺的一部分。而IP地址&#xff08;Internet Protocol Address&#xff09;作为互联网中的关键组成部分&#xff0c;发挥着至关重要的作用。本文将探讨IP地址的主要功能以及其在网络中的重要性。 IP地址查询&…

Xcode 15.0 新 #Preview 预览让 SwiftUI 界面调试更加悠然自得

概览 从 Xcode 15 开始&#xff0c;苹果推出了新的 #Preview 宏预览机制&#xff0c;它无论从语法还是灵活性上都远远超过之前的预览方式。#Preview 不但可以实时预览 SwiftUI 视图&#xff0c;而且对 UIKit 的界面预览也是信手拈来。 想学习新 #Preview 预览的一些超实用调试…